Macros 使用多个宏变量作为值创建SAS数据集
我有几个宏变量。比如说,Macros 使用多个宏变量作为值创建SAS数据集,macros,sas,Macros,Sas,我有几个宏变量。比如说, %let var1 = GOOD; %let var2 = BETTER; %let var3 = BEST; 我想做的是使用这些宏变量创建一个数据集,如下所示 数据集名称:score 变量名:var Obs var 1 GOOD 2 BETTER 3 BEST 试试这个: data want; format var $12.; var = "&var1"; output; var="&var2
%let var1 = GOOD;
%let var2 = BETTER;
%let var3 = BEST;
我想做的是使用这些宏变量创建一个数据集,如下所示
数据集名称:score
变量名: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;
谢谢!你能再简化一点吗?你希望它怎样变得更简单?你想要的东西是通用的N变量。通常,您不希望从宏中获取值并将其放入数据表中。