我有幾個宏變量。例如,使用多個宏變量作爲值創建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