SAS练习题总结

1、打开excel文件的某个工作表

proc print data=MYXLS.‘NORTH$'n;run;

2、KEEP语句

KEEP语句,KEEP variable(s);不能用于过程步

KEEP=选项,data-set-name(KEEP=variable(s))可以用于数据步、过程步,其中variables是具体变量,不能是数组、_N_、_ERROR_等

3、数组

数值型数组:初始值可以省略,默认为缺失值

数组说明中变量名可以省略,变量名默认为数组名+序号,序号从1开始

ARRAY test(3) Math Chinese English (0,0,0);

ARRAY test(*) test3-test8; /*数组元素的个数由变量个数决定*/

ARRAY x(2,2) X11 X12 X21 X22;/*二维数组,数组元素按行排列*/

字符型数组:需指定数组元素的最大长度,其他与数值型数组相同。

临时数组:若SAS数组中每个元素不对应变量名,即为临时数组。

ARRARY test(3) _TEMPORARY_ (0,0,0);

临时数组值用于中间计算,不保存入数据集。在数据步中,临时数组在数据步隐含循环中能自动保留上一步得到的值

4、BY语句

BY <DESCENDING> variable-1 ... <DESCENDING> variable-n <NOTSTORED> <FROUPFORMAT>

当使用BY语句时,first.var和last.var才有效。

BY语句中变量默认是升序排列的。DESCENDING语句只作用于它后面的第一个变量。

BY语句的排序是按字符的先后顺序排序的。

5、LENGTH语句

对数值变量,LENGTH范围为3-8个字节,LENGTH可以放在任意位置。

对字符变量,LENGTH范围为1-32767字节,空格占一个字节,LENGTH必须放在SET语句之前。      

6、SQL语句中使用format

PROC sql;

    select salary format=dollar9. from one;

QUIT;

7、SQL语句创建宏变量

PROC sql noprint;

    select name into :info separated by ' ' from dictionary.columns

    where libname="SASHELP" and memname="CLASS";

quit;

创建了一个名叫info的宏语句,将被‘ ’空格分开的列变量名赋值给宏变量info。

8、SQL常用语句区别

ALTER TABLE语句(不是ALTER语句)能够add, drop和modify列

UPDATE语句,能够修改已存在的行

9、PROC等是保留单词,不能设置为宏变量名

10、%SYSFUNC和PUTN

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            

猜你喜欢

转载自my.oschina.net/u/3744769/blog/1819619