使用变量值作为宏变量

时间:2017-04-25 20:18:13

标签: sas sas-macro

我有一个SAS数据集,其中的列包含我想用作宏变量的值。假设SAS数据集看起来像这样一列:

varname
34
367
399
87

我想要的是列中的所有值都成为宏变量中的连接字符串(适合在if语句中使用in运算符)。结果将等同于:

%let var = %str('34','367','399','87');

我将如何做到这一点?

1 个答案:

答案 0 :(得分:5)

我会使用PROC SQL,但还有其他方法:

proc sql noprint;
select "'" || varname || "'"
   into :var separated by ','
   from have;
quit;

%put var: &var;

这将使变量值与任一侧的'连接起来。 separated by部分会在所有值之间放置,:var告诉SQL将结果保存在名为var;

的宏中