SAS中文论坛
标题:
如何生成一组宏变量?
[打印本页]
作者:
shiyiming
时间:
2009-5-6 13:00
标题:
如何生成一组宏变量?
在一个宏循环中,如何将非宏变量的值,赋值给一组宏变量?
如:
%do i=1 %to 10;
.....
a=...
p=1-probf(a,...);
call symput("P_&i",p);
%end;
这里如何将每次循环改变的p值,赋值给宏变量呢?因为call symput是在最后一个循环才生成宏变量的。本人经常遇到这样问题,都很难解决。谢谢啊。
作者:
shiyiming
时间:
2009-5-6 20:41
标题:
Re: 如何生成一组宏变量?
data _null_;
do i=1 to 10;
a=i;
p=1-probf(a,1,2);
call symput("P_"||strip(put(i,2.)),put(p,6.4));*2 for max i=99 for better precision p, can change format;
end;
run;
%put _user_
;
作者:
shiyiming
时间:
2009-5-6 20:59
标题:
Re: 如何生成一组宏变量?
%macro vvv;
%do i=1 %to 10;
%let a=%eval(&i);
%let p_&i=%sysevalf(1-%sysfunc(probf(&a,1,2)));
%end;
%put _user_;
%mend;
%vvv
;
作者:
shiyiming
时间:
2009-5-6 22:36
标题:
Re: 如何生成一组宏变量?
谢谢楼上的deshengsu ,真的万分感谢!
欢迎光临 SAS中文论坛 (https://mysas.net/forum/)
Powered by Discuz! X3.2