SAS定义宏变量三种方法
SAS中定义宏变量方法主要有以下三种:
1、以逗号作为宏变量定义的结束。
2、在定义时候不要加引号,系统会把引号当作宏变量的值之一。
3、宏变量的作用域分为全局与局部。
一种在程序(这里一般是指一个宏程序)外定义,则在整个SAS任何地方都可以被调用。
另外一种则是在程序内部,则作用在该程序出现宏变量后面,在程序外则不可以被调用,否则
会出错。(如果一个程序内部定义有宏变量变成全局变量,则需要使用%global)
4、当宏变量一个表达式,使用:%str()
5、如果宏变量是数值计算表达式,则需要根据数值类型使用二个不同的宏变量:
%eval_r() 用于计算整数例如:%eval_r(1+2)
%sysevalf() 用于计算浮点数或者空值例如: %eval_r(1.0+2.3)
data test;
input var @@;
datalines;
1 2 3 4 5
;
run;
proc sql noprint ;
select var into :macro_var
separated by ' '
from test;
quit;
数据分析咨询请扫描二维码