我们可以使用语法
通过SAS SQL Procedure创建宏变量select var into :mvar
但我想知道数据步骤是否有相同的方法。
我有一个数据集。
A B
=== ===
a1 b1
a2 b2
a3 b3
我可以使用以下语句创建一个名为MA
的宏变量。
proc sql noprint;
select "'"||A||"'" into :MA separated by ","
from dataset;
quit;
如何在数据步骤中执行此操作?
答案 0 :(得分:7)
首先,创建样本数据集:
data dataset;
infile datalines;
input A $ B $;
datalines;
a1 b1
a2 b2
a3 b3
;
run;
以下步骤几乎完成了PROC SQL
的操作,使用CALL SYMPUT
输出名为MA
的宏变量:
data _NULL_;
retain amac;
length amac $35;
set dataset;
if _N_ = 1 then amac=a; else amac=cats(amac,',',a);
put amac=;
call symputx('MA',amac);
run;
%put &MA;