全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6307 9
2011-03-08
问题是这样的:我有一个编好的宏,叫a(),有参数。
我希望在data步中循环调用这个宏10次,而且每次调用时宏参数都要变,从1变成10。
请问程序应该怎么写啊...
二维码

扫码加我 拉你入群

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

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

全部回复
2011-3-8 22:55:40
don't know if it is what you want...

(&count is the number of loop, for example 10)

%macro blabla;
        data _null_;
                 set xxx.xx end=last;
            call symput(compress(left(trim('var' !! put(_n_,2.)))),var);
            if last then do;
                call symput('count',put(_n_,3.));
            end;
        run;
        %do i=1 %to &count;
                %a(&&var&i)
        %end;
%mend blabla;
二维码

扫码加我 拉你入群

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

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

2011-3-9 03:40:39
人家问data步~~
%macro huangshiren(fengjie);
%put &fengjie.,这是为什么呢~~~;
%put                          ;
%mend;
data xiaoniao;
format yiren $100. ;
do yiren='亲爱的','五花肉','正太哥','强哥','Honey~','傻瓜','蜜糖','果脯','五毛','美狗','郎教授','如花','年轻人 May the force be with you','招行行长:房价上涨是因为老百姓钱太多了','巴菲特看到我国的物价发展水平也会哭~';
call execute('%huangshiren('||yiren||');');
end;
run;
二维码

扫码加我 拉你入群

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

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

2011-3-9 05:26:23
你要把datastep放在macro里面
二维码

扫码加我 拉你入群

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

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

2011-3-9 09:25:20
我觉得4楼的回答可以用。
没有其他的答案了嘛?
二维码

扫码加我 拉你入群

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

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

2011-3-9 11:27:21
可以试试call execute('%macro');
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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