|
|
Re: 练手系列5:多数据集输出
[quote="byes":eiyj1p73][code:eiyj1p73]
%macro create_multiple_outputs(source_table=,by_var=,output_var=,output_table_prefix=);
proc sql noprint;
select distinct &by_var. into :name separated by '|' from &source_table.;
quit;
%let nword=%sysfunc(countc(&name,|));
%let nword=%eval(&nword+1);
%do i=1 %to &nword.;
%let name1=%scan(&name.,&i.,|);
proc sql;
create table &output_table_prefix.&name1. as
select &by_var.,&output_var. from sashelp.class where &by_var="&name1.";
quit;
%end;
%mend;
[/code:eiyj1p73][/quote:eiyj1p73]
为什么要在变量后面加一个.呢? 如&name. &i. |
|