使用变量值作为宏变量的值
问题描述:
我有一个SAS数据集,其中有一列包含我想用作宏变量的值。说的SAS数据集看起来像这样有一列:使用变量值作为宏变量的值
varname
34
367
399
87
我要的是所有在列中的值,成为在宏变量一个连接字符串(适合于使用在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;
这将串联变量值两边有一个'
。 separated by
件将在所有值之间放置一个,
。 :var
通知SQL将结果保存在名为var
的宏中;