欢迎来到天天文库
浏览记录
ID:38629700
大小:71.00 KB
页数:16页
时间:2019-06-16
《常用sas语句总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Engine(引擎)是一种访问架构,SAS系统通过它迅速地对其它数据库管理系统中文件进行读入和写出。1.LIBNAME语句1.1解读定义SAS逻辑库。具体地说,它可以(1)向SAS标识SAS逻辑库(2)将引擎与逻辑库关联(3)让您指定逻辑库的选项(4)为逻辑库指定逻辑库引用名通俗得讲,LIBNAME语句把一个libref(库标记名)和一个目录联系起来,使用户可以在SAS语句中使用库标记来指示这个目录。提交该程序时自动引用该SAS逻辑库1.2语句格式1、LIBNAMElibref<'SAS-data-library'>2、only3、Temp>;2、LIBNAMElibrefClear;3、LIBNAMElibref4、_All_List;三种格式反映了LIBNAME语句的三种用法选项说明2.length语句SAS变量的基本类型有两种:数值型和字符型。数值型变量在数据集中的存贮一般使用8个字节。SAS的字符型变量缺省的长度是8个英文字符,可以使用LENGTH语句指定变量长度,LENGTH语句一般应出现在定义变量的Input语句之前,格式为:LENGTH字符型变量名$长度例如:lengthname$20;3.input语句3.1解读INPUT语句用于向系统表明如何读入每一条记录。它5、的主要功能有:读入由语句指定的数据列;为相应的数据域定义变量名;确定变量的读入模式(共有四种模式:column模式,formatted模式,list模式及named模式)。input语句执行后,SAS将读取的数据暂时先保存在内存缓冲区,然后执行后面的语句,后面的语句可以对暂存在内存缓冲区中的变量值进行修改,到最后才将整条数据写入数据集,写入数据集的数据就不能在当前data步中再修改。注意:INFILE语句用于确定一个包含原始数据的外部文件,必须在执行INPUT语句前执行,如果要在程序中直接嵌入数据,就用CARDS语句代替INFILE语句。3.2语句格式(Co6、lumn模式)INPUTvariable<$>start-column<-end-column><.decimals><@7、@@>;说明:variable变量名$跟在变量后面,表明这个变量是字符型变量start-column起始列号end-column结束列号,如果变量值只包含一列,则可省略.decimals如果输入值中没有包含一个隔开整数部分与小数部分的小数点,decimals用来显性的指明小数部分@单尾符@@双尾符举例说明:inputname$1-10pulse11-13waist14-15gender$16;4.SET语句Set语句可以用来读取单个数据8、集中的数据,也可以用来读取多个数据集中的数据拼接SAS新的数据集。程序为:DATA新数据集;SET输入数据集1输入数据集2….;Run;如果不适用DROP=和KEEP=选项,在新的数据集中将包含所有旧数据集的变量。5.DO循环语句语句一:DOWHILE(expression);...moreSASstatements...END;语句二:DOUNTIL(expression);...moreSASstatements...END;语句三:DOindex-variable=start9、10、UNTIL(expression)>;...moreSASstatements...END;例如:doi=1to10;doi=10to0by-1while(month='JAN');语句四:DOitem-1<,…item-n>11、UNTIL(expression)>;...moreSASstatements...END;例如:docount=2,3,5,7,11,13,17;domonth='JAN','FEB','MAR';doi='01JAN2001'd,'25FEB2001'd,'18APR2001'd;这个语句是S12、AS比较特殊的循环结构,可以对枚举的项目依次执行,终止循环就是执行完这些列举的项目。语句五:DOoverarray-name;...moreSASstatements...END;例如:datatest; inputsc01-sc05; arrayssc01-sc05; doovers; s=s*100; end; cards;0.950.880.570.900.65;这个语句也是SAS比较特殊的循环结构,专用于数组,将数组的每一个元素访问一遍。6.IMPROT语句import过程可以读取的数据有Access数据库、Excel文件和带分隔符的13、文件。6.1语法格式PROCIMPORTDATAFI
2、only
3、Temp>;2、LIBNAMElibrefClear;3、LIBNAMElibref
4、_All_List;三种格式反映了LIBNAME语句的三种用法选项说明2.length语句SAS变量的基本类型有两种:数值型和字符型。数值型变量在数据集中的存贮一般使用8个字节。SAS的字符型变量缺省的长度是8个英文字符,可以使用LENGTH语句指定变量长度,LENGTH语句一般应出现在定义变量的Input语句之前,格式为:LENGTH字符型变量名$长度例如:lengthname$20;3.input语句3.1解读INPUT语句用于向系统表明如何读入每一条记录。它
5、的主要功能有:读入由语句指定的数据列;为相应的数据域定义变量名;确定变量的读入模式(共有四种模式:column模式,formatted模式,list模式及named模式)。input语句执行后,SAS将读取的数据暂时先保存在内存缓冲区,然后执行后面的语句,后面的语句可以对暂存在内存缓冲区中的变量值进行修改,到最后才将整条数据写入数据集,写入数据集的数据就不能在当前data步中再修改。注意:INFILE语句用于确定一个包含原始数据的外部文件,必须在执行INPUT语句前执行,如果要在程序中直接嵌入数据,就用CARDS语句代替INFILE语句。3.2语句格式(Co
6、lumn模式)INPUTvariable<$>start-column<-end-column><.decimals><@
7、@@>;说明:variable变量名$跟在变量后面,表明这个变量是字符型变量start-column起始列号end-column结束列号,如果变量值只包含一列,则可省略.decimals如果输入值中没有包含一个隔开整数部分与小数部分的小数点,decimals用来显性的指明小数部分@单尾符@@双尾符举例说明:inputname$1-10pulse11-13waist14-15gender$16;4.SET语句Set语句可以用来读取单个数据
8、集中的数据,也可以用来读取多个数据集中的数据拼接SAS新的数据集。程序为:DATA新数据集;SET输入数据集1输入数据集2….;Run;如果不适用DROP=和KEEP=选项,在新的数据集中将包含所有旧数据集的变量。5.DO循环语句语句一:DOWHILE(expression);...moreSASstatements...END;语句二:DOUNTIL(expression);...moreSASstatements...END;语句三:DOindex-variable=start9、10、UNTIL(expression)>;...moreSASstatements...END;例如:doi=1to10;doi=10to0by-1while(month='JAN');语句四:DOitem-1<,…item-n>11、UNTIL(expression)>;...moreSASstatements...END;例如:docount=2,3,5,7,11,13,17;domonth='JAN','FEB','MAR';doi='01JAN2001'd,'25FEB2001'd,'18APR2001'd;这个语句是S12、AS比较特殊的循环结构,可以对枚举的项目依次执行,终止循环就是执行完这些列举的项目。语句五:DOoverarray-name;...moreSASstatements...END;例如:datatest; inputsc01-sc05; arrayssc01-sc05; doovers; s=s*100; end; cards;0.950.880.570.900.65;这个语句也是SAS比较特殊的循环结构,专用于数组,将数组的每一个元素访问一遍。6.IMPROT语句import过程可以读取的数据有Access数据库、Excel文件和带分隔符的13、文件。6.1语法格式PROCIMPORTDATAFI
9、
10、UNTIL(expression)>;...moreSASstatements...END;例如:doi=1to10;doi=10to0by-1while(month='JAN');语句四:DOitem-1<,…item-n>11、UNTIL(expression)>;...moreSASstatements...END;例如:docount=2,3,5,7,11,13,17;domonth='JAN','FEB','MAR';doi='01JAN2001'd,'25FEB2001'd,'18APR2001'd;这个语句是S12、AS比较特殊的循环结构,可以对枚举的项目依次执行,终止循环就是执行完这些列举的项目。语句五:DOoverarray-name;...moreSASstatements...END;例如:datatest; inputsc01-sc05; arrayssc01-sc05; doovers; s=s*100; end; cards;0.950.880.570.900.65;这个语句也是SAS比较特殊的循环结构,专用于数组,将数组的每一个元素访问一遍。6.IMPROT语句import过程可以读取的数据有Access数据库、Excel文件和带分隔符的13、文件。6.1语法格式PROCIMPORTDATAFI
11、UNTIL(expression)>;...moreSASstatements...END;例如:docount=2,3,5,7,11,13,17;domonth='JAN','FEB','MAR';doi='01JAN2001'd,'25FEB2001'd,'18APR2001'd;这个语句是S
12、AS比较特殊的循环结构,可以对枚举的项目依次执行,终止循环就是执行完这些列举的项目。语句五:DOoverarray-name;...moreSASstatements...END;例如:datatest; inputsc01-sc05; arrayssc01-sc05; doovers; s=s*100; end; cards;0.950.880.570.900.65;这个语句也是SAS比较特殊的循环结构,专用于数组,将数组的每一个元素访问一遍。6.IMPROT语句import过程可以读取的数据有Access数据库、Excel文件和带分隔符的
13、文件。6.1语法格式PROCIMPORTDATAFI
此文档下载收益归作者所有