我有一个SAS数据集,其中的列包含我想用作宏变量的值。假设SAS数据集看起来像这样一列:
varname
34
367
399
87
我想要的是列中的所有值都成为宏变量中的连接字符串(适合在if
语句中使用in
运算符)。结果将等同于:
%let var = %str('34','367','399','87');
我将如何做到这一点?
答案 0 :(得分:5)
我会使用PROC SQL
,但还有其他方法:
proc sql noprint;
select "'" || varname || "'"
into :var separated by ','
from have;
quit;
%put var: &var;
这将使变量值与任一侧的'
连接起来。 separated by
部分会在所有值之间放置,
。 :var
告诉SQL将结果保存在名为var
;