资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
SAS 学习笔记学习笔记1 新建逻辑库 工具栏new library输入 name、path、勾选启动默认 enable at startup 查看一下:菜单viewexplorer 2 新建数据集 方法 1Explorer右键单击newtable输入数据,点击保存选择逻辑库,填写名 称save 方法 2Solutionsanalysisanalyst输入数据,点击保存选择逻辑库,填写名称 save3 导入外部数据FILEImport data勾选标准数据源 standard data soruce 路径不能有中文字符 4 排序Fileopenexcel.sas7bdat 文件 Datasort选择排序的字段sort byascend 升序、dascend 降序reset 重 新设置 5 筛选Datafiltersubset data选择 GE 大于等于constant enter value3 就是筛选 subset data 大于等于 3,none 是取消 6 转置Datatranspose选择列transpose 转置group by 分租 7 频率分析 Statistics 统计descriptive 描述频率分析 frequency选择分析的字段 Input 显示顺序 plots 条形图 【hor 水平 vert 垂直】 Tables 输出内容Sas 语法基础语法基础2.1 创建客户信息数据集创建客户信息数据集libname jx e:sasjx;data jx.custer;input id name $ sex $ moneycards;1001 zhangfei men 981002 liubei men 761003 daocan women 54;run;proc print data=jx.custer;run;2.2 建立与文件连接的逻辑库建立与文件连接的逻辑库libname jxsj e:sasjx compress=yes;sas 如何连接 sql2000 数据库odbc 连接方式连接方式建立 odbc 数据源:控制面板-管理工具-数据源(odbc)代码实现:Libname jmssql odbc user=sa password= dsn=mssql ; Oledb 连接方式连接方式代码实现libname sqlbase oledb provider=sqloledb.1 properties=(“Data Source“=MY3KQFHEPCPN95N “User ID“=sa “Password“= “Initial Catalog“=KIS_Sample);输出数据proc print data=Jmssql.t_Balance;run;2.3 sql 过程连接关系数据库过程连接关系数据库定义odbc连接变量/*%let jx_connect=user=sa password= dsn=mssql;*/定义oledb连接变量%let jx_connect=user=sa password= provider=sqloledb.1 properties=(“Data Source“=MY3KQFHEPCPN95N “User ID“=sa “Password“= “Initial Catalog“=KIS_Sample);proc sql ;validate;connect to oledb (select * into :v_sj from connection to oledb(select FDate from t_Voucher);/*execute (create table jxc as select * from t_Voucher ) by oledb;*/disconnect from oledb;quit;在表中定义变量并赋值data wo.bl;x=2;y=abc;run;定义变量定义变量 sf 长度为长度为 18 字符字符data wo.custer;length sf $18.;input name $ sf;cards;zhangfei 1234567890liubei 9123456780;run;y 自动转为数值参加计算自动转为数值参加计算data qsum;x=1;y=2;sum=x+y;run;连接运算连接运算,数字转化为字符数字转化为字符data substr;y=10;ch=hellow;v_sub=ch|y;run;字符替换与提取字符字符替换与提取字符Substr(s,p,n)从字符串 s 中的第 p 个字符开始提取 n 个字符的子串。data substr1;y=12345678;转为12位字符,前面填充4个0ch=substr(y,5,6);bc=Ktruncate(y,5,6);ch2=substr(y,5,3);bc2=Ktruncate(y,5,3);run;常量赋值常量赋值data cl;cl1=i love you!;cl2=“im zhangfei“;cl3=ni shi “xi gua“;run;日期常量日期常量data dtime;c1=3mar2012d;c2=8:30t;c3=6apr2012:8:18:30pmdt;run;proc print;/*format c1 yymmdd10. c2 time10. c3 datetime22.;*/format c1 yymmdd. c2 time. c3 datetime.;run;if 语句语句libname wo E:sas;data wo.custer;input id $ level $ amount 5. ;label id=bianhao level=jibie amount=edu;cards;1001 a 20001002 b 20031003 b 30001004 c 50001005 d 6000;data wo.alei wo.blei wo.clei;set wo.custer;if level=a then output wo.alei;else if level=b then output wo.blei;else output wo.clei;run;proc print ;title “c lei xin yong ka“;run;读取前读取前 3 条记录条记录libname wo E:sas;data wo.custer;input id $ level $ amount 5. ;label id=bianhao level=jibie amount=edu;cards;1001 a 20001002 b 20031003 b 30001004 c 50001005 d 6000;data wo.new1;set wo.custer;if _n_3 then output wo.new1;run;proc print data=wo.new1;title “new1 xin yong ka“;run;select when 判断语句判断语句libname wo E:sas;data wo.custer;input id $ level $ amount 5. ;label id=bianhao level=jibie amount=edu;cards;1001 a 20001002 b 20031003 b 30001004 c 50001005 d 6000;data wo.alei wo.blei wo.clei;set wo.custer;select (level);when (a) output wo.alei;when (b) output wo.blei;otherwise output wo.clei;end;run;select when 修改符合条件的记录proc print data=wo.blei;title “blei xin yong ka“;run;libname wo E:sas;data wo.custer;input id $ level $ amount 5. ;label id=bianhao level=jibie amount=edu;cards;1001 a 20001002 b 20031003 b 30001004 c 50001005 d 6000;data wo.new2;set wo.custer;select;when (level=a) level=m;when (level=b) level=n;otherwise level=s;end;run;proc print data=wo.new2 label;title “new2 xin yong ka“;run;do while 循环语句循环语句:先判断在执行先判断在执行libname wo E:sas;data wo.custer;input id $ level $ amount 5. ;label id=bianhao level=jibie amount=edu;cards;1001 a 20001002 b 20031003 b 30001004 c 50001005 d 6000;run;data wo.new3;x=0;do while(x11);x=x+2;end;put x=;run;x=12do until 循环语句循环语句:先执行再判断先执行再判断data wo.new3;x=0;do until(x11);x=x+2;end;put x=;run;x=2do to 循环语言循环语言data wo.new4;x=0;do i=1 to 9 by 2;x=i+1;end;run;操作符操作符data wo.new4;y=2*3;乘方x=5/2;除run;and input name $ address cards;zhangfei zhongguo beijing fengtaiqu 100070liubei beijing xichengqu 100000guanyu zhongguo shandong 272195;run ;指针控制 读取文件%let lujing=D:jxtx.txt;filename tx0 “(data new5;infile tx0;input 1 qh $4. 5 address $17. 22 youbian $4.;run;proc print;run;行控制符号行控制符号%let lujing=d:jxcredtype.txt;filename cred1 “(data wo.xinyongka;infile cred1;input 20 card_type $1.;if card_type=B then do;input 1 credt_bh $3.4 card_num $16.;output wo.xinyongka;end;run;proc print data=wo.xinyongka noobs;run;换行换行data cust_inf;length address $20.;input name $ address ;cards;liubei beijingfengtai zhangyuhua heb
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号