全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1303 2
2012-09-20

我编辑了一段宏循环:(中间代码省略了)
%macro mypaid(time=,data1=,data2=);
。。。。。。
%mend;                                                                                                                                                                                                                                                   
  %mypaid(time="2010Q4",data1=ht.wj_10Q4,data2=ht.yj_10Q4) ;

日期是从 07Q1 到10Q4的季度时点,,相应的宏可能调用调用数据集我也生成了。。。
我现在跑一次会生成一个我要的结果,但是下次就又要 修改一次%mypad 时间点的参数,次数太多太麻烦

请高手如何用一个循环解决  我一次次重复 修改 参数的问题?
我想到的方法是把需要修改的的参数做成一个专门的数据集,比如
data a;
input  time $  wj $  yj $ ;cards;
10Q4  ht.wj_10Q4  ht.yj_10Q4  
10Q3  ht.wj_10Q3  ht.yj_10Q3  
.......
07Q1  ht.wj_07Q1  ht.yj_07Q1  
;
run;
然后通过一个循环调用出来放进%mypaid,但是不懂如何用循环调用~
请高手赐教


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-9-20 10:42:44
试试另外加一段宏,做个循环,
%macro ab;
%do i=7 %to 10;
data _null_;
call symput("y",put(&i.,z2.));
run;
   %do q=1 %to 4;
   %mypaid(time="&y.Q&q.",data1=ht.wj_&y.q&q.,data2=ht.yj_&y.q&q.) ;
   %end;
%end;
%mend;
%ab;

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-9-20 13:48:56
mutangchun_yu 发表于 2012-9-20 10:42
试试另外加一段宏,做个循环,
%macro ab;
%do i=7 %to 10;
多谢。。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群