有以下两段代码
1)
%let data1=x;
%let data2=y;
%let data3=z;
%macro test;
%do i=1 %to 3 ;
%put &&data&i;/*&data&i不能用*/
%end;
%mend test;
%test
2)
%macro create;
data temp;
set ResDat.&dat end=final;
if year(date)=&year then
do;
n+1;
output;
end;
if final then call symput(‘number’, n); /*创建的宏变量为number,其值为n*/
run;
%mend create;
不知道为什么第一段代码中要用%do和%to , 但是第二段代码中却可以直接用do呢?
请各位不吝赐教!