请哪位高手指点一下本菜鸟的迷津??
关于在SAS宏语言中do循环时,为什么有时候加不加%号产生的效果一样???
宏中使用do和%do的原理是神马?
这个是普通data步实现的累加效果语句:
data a ;
x=0;
do i = 1 to 5;
x=x+2;
output;
end;
run;
(运行结果有x变量和i变量)
下面是用宏语句产生累加效果的例子,第一个宏里面do循环没有用%号:
%macro pp (n);
data a ;
x=0;
do i = 1 to &n;
x=x+2;
output;
end;
run;
%mend pp;
%pp(5);
(运行结果有x变量和i变量)
下面同样是这个例子,只不过加上了%号:
%macro pp (n);
data a ;
x=0;
%do i = 1 %to &n;
x=x+2;
output;
%end;
run;
%mend pp;
%pp(5);
(运行结果只有x变量没有i变量)