我有几个宏变量。例如,使用多个宏变量作为值创建SAS数据集
%let var1 = GOOD;
%let var2 = BETTER;
%let var3 = BEST;
我想要做的就是利用这些宏观变量这样
数据集名称创建一个数据集:得分 变量名称:var
Obs var
1 GOOD
2 BETTER
3 BEST
我有几个宏变量。例如,使用多个宏变量作为值创建SAS数据集
%let var1 = GOOD;
%let var2 = BETTER;
%let var3 = BEST;
我想要做的就是利用这些宏观变量这样
数据集名称创建一个数据集:得分 变量名称:var
Obs var
1 GOOD
2 BETTER
3 BEST
试试这个:
data want;
format var $12.;
var = "&var1";
output;
var="&var2";
output;
var="&var3";
output;
run;
proc print data=want;
run;
如果你有一个命名约定,你可以查询sashelp。 vmacro表格:
data _null_;
set sashelp.class;
call symput('name'||put(_n_, 2. -l), name);
run;
%put &name1.;
%put &name19.;
proc sql;
create table want as
select name, value
from sashelp.vmacro
where substr(name, 1, 4)='NAME';
quit;
非常感谢! – 2014-10-06 00:31:37
谢谢!你能简化一点吗? – 2014-10-05 19:32:45
你想如何更简单?你想要的东西是通用的N个变量。通常你不想从宏中获取值并将它们放入数据表中。 – DomPazz 2014-10-05 20:17:03