【发布时间】:2014-10-05 17:50:31
【问题描述】:
我有几个宏变量。例如,
%let var1 = GOOD;
%let var2 = BETTER;
%let var3 = BEST;
我想做的是使用像这样的这些宏变量创建一个数据集
数据集名称:分数 变量名:var
Obs var
1 GOOD
2 BETTER
3 BEST
【问题讨论】:
我有几个宏变量。例如,
%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;
【讨论】: