SAS宏编程
- 定义与用途
- 宏变量
- 宏
一、定义与用途
(一)定义
将一个变量,一段程序或者一个文本命名,
供以后调用
,是用于扩充和制做用户化SAS系统的工具。
(二)用途
- 获取SAS的系统信息
- 有条件的执行数据步和过程步
- 开发交互式系统
%WINDOW
- 产生与数据无关的SAS程序,但可以展示与数据相关的结果
- 重复执行SAS程序码
二、宏变量
(一)概念
- 宏变量属于SAS宏语言,但不同于DATA步变量。其
不依赖于SAS数据集
,一个宏变量存放的值保持不变直到被修改(全局变量
)。 - 引用时,变量名前加上"&"。
- 宏变量在引用时
放在双引号之间会被解读
(单引号不会被解读)。
(二)宏变量的产生
- 自动宏变量:由SAS系统提供
用户定义的宏变量
:用户定义
用户定义的宏变量,两种格式:
%LET 变量名=变量值;
call symput(变量名,变量值);
(三)宏变量的引用
- 替换的概念
//ex
%let exa=score;
title “display of student &exa”;
//等价于 title “display of student score”;
- 多次引用宏变量
data score;
input math@@;
cards;
71 81 91
; run;
%let exa=score;
data temp;
set &exa; /*第一次*/
if math>80;
run;
proc print;
title "display of student &exa"; /*第二次*/
run;
结果
- 创建包含SAS语句的宏变量
%let print=%s