SAS宏程序的编写是一个分水岭,区分了SAS运用人对软件的掌握程度。当处惯栲狠疲理数据集量多,数据集交叉运用时,熟练运用宏能极大提高效率,缩短编程时间,下面讲解SAS的宏程序的基础
宏变量
1、使用宏指令之前必须将宏系统选项打开,可以用下面代码查看是否打开,查看日志,如果看到MACRO,则打开了;如果看到NOMACRO,则没有打开。
2、用%let变量名= ;创建一个宏变量。使用宏变量, 宏变量前面要加前缀&,注意宏处理器找不到单引号内的宏变量,所以下面的Title后面是用双引号
宏模块
1、宏模块用%MACRO语句告诉SAS这是宏开始,而%MEND则意味着结束。macro-name是自己命名的,中间是SAS语句,就像一个汉堡包
2、启动宏模块: 定义了宏之后,可以通过在宏名称前面增加%来启动宏:%macro-name,注意这里可以不用分号。下面是编写了一段宏模块,然后用在需要的位置
宏变量和宏模块的交叉运用
1、下面是一个变量为CustomerID 、SaleDate、Variety和Quantity的数据集
2、交叉运用是在宏模块的Macro-name后面加上参数,下面就是select后面加上参数customer和sortvar,然后宏模块中间羿约妫鳏部分用这两个参数进行分类和打印。当用到宏时输入不同参数就可以的到不同结果
3、下面是分别保留了CustomerID为356W和240W,然后用Quantity和Variety进行排序的两个不同的表