|
|
地板

楼主 |
发表于 2010-2-3 08:30:24
|
只看该作者
Re: 求教:宏里面怎么使用数组的维数?
建议不要用数组了。直接使用宏变量序列,然后计算得出宏变量个数之后,再进行宏循环。例如下例,注意这也只是个解决方案的例子,希望对你有帮助。
[code:16mwj2o8]data raw(drop=i);
do i=1 to 5;
score1=1;
score2=2;
score3=3;
score4=4;
output;
end;
run;
%macro example;
proc contents data=raw out=raw_var noprint;
run;
proc sort data=raw_var;
by varnum;
run;
data _NULL_;
set raw_var end=eof;
call symput('var'||trim(left(put(_N_,best.))),trim(left(name)));
if eof then call symput('varno',trim(left(put(_N_,best.))));
run;
%put &&var&varno;
data tmp;
set raw;
%do j=1 %to &varno;
&&var&j=10;
%end;
output;
run;
%mend example;
%example
[/code:16mwj2o8] |
|