宏:
宏变量:
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):
     对于宏变量,不论是自动的还是用户定义的,系统都将其存在符号表中;
     表有两列,一列是变量名,另一列是值;自动的宏变量都存在一张符号表
     中,用户定义的宏变量可以存在不同的符号表中