宏:
宏变量:
1、使用和定义:
宏变量与数据步中变量的主要区别:
数据步中变量的值往往与被处理观测有关,而宏变量有唯一确定的值;
2、特性:
1) 存储字符串,存储的内容也就是宏变量的值;
2) 命名规则:字母或下划线开头,有字母数字和下划线组成,长度不超过32个字节;
3) 全局的宏变量在定义后可以在任何地方被引用;
4) 可以在数据步中引用,但不能在数据步中用赋值语句定义;
5) 在程序中引用宏变量时,只需在变量前加符号”&”;(以&标识)
3、分类:
1) 自动宏变量:由SAS系统提供;
2) 用户定义的宏变量:由用户在程序中定义;
4、自动宏变量:
一些主要的自动宏变量:
A SYSDATE SAS进程开始的日期;
B SYSDATE9 以Date9.格式显示SAS进程开始的日期;
C SYSTIME SAS进程开始的时间;
D SYSSCP 使用的操作系统;
E SYSDAY SAS进程开始是为星期几;
F SYSVER SAS的版本;
G SYSLAST 最新创建的SAS数据集的名字;
查看SAS所有自动宏变量的命令: %put_automatic_;
系统选项:options symbolgen是显示每个宏变量解读的值;
5、用户定义的宏变量:
1) 定义形式:%let 变量名=值;或是call symput(变量名,变量值);
查看SAS所有用户定义的宏变量的命令:%put_user_;
注意:查看所有的宏变量的命令:%put -all-;
2) 符号表(symbol table):
对于宏变量,不论是自动的还是用户定义的,系统都将其存在符号表中;
表有两列,一列是变量名,另一列是值;自动的宏变量都存在一张符号表
中,用户定义的宏变量可以存在不同的符号表中