这里是我的代码:
%macro loop;
%let var1=10;
%do %while (&var1.>x);
counter=&var1.;
yy=1/(1+x);
end;
%let var1=%eval(&var1.-1);
%end;
%mend loop;
data tmp;
input x;
datalines;
1
2
3
;
run;
%let num=1;
data y;
set tmp;
%loop;
run;
基本上,我想创建一个变量YY当变量x小于VAR1的价值;
但输出并没有给我变量yy。
任何人都可以帮助我吗?
Thx!
你为什么使用宏代码? – Tom
好问题!因为我必须这么做,这是一个非常大的项目中的一个简单部分,我必须在不更改其他部分的情况下实现这一目标。 –
首先找出你需要运行的代码。然后找出如何使用宏变量或宏逻辑来生成该代码。 – Tom