我有一个SAS数据集,其中包含一个值,我希望将其用作宏变量.假设SAS数据集看起来像这样一列:
varname
34
367
399
87
Run Code Online (Sandbox Code Playgroud)
我想要的是列中的所有值成为宏变量中的连接字符串(适合if在in运算符的语句中使用).结果将等同于:
%let var = %str('34','367','399','87');
我怎么做到这一点?
我会用PROC SQL,但还有其他方法:
proc sql noprint;
select "'" || varname || "'"
into :var separated by ','
from have;
quit;
%put var: &var;
Run Code Online (Sandbox Code Playgroud)
这将连接'两侧的变量值.这separated by件作品将,介于所有价值之间. :var告诉SQL将结果保存在名为的宏中var;