全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
9199 8
2013-01-21
在宏外data里做do循环的时候很正常,用continue就可以了,如
data b;
do i=1 to 5;
if i=3 then continue;
put i;
end;
run;


结果是
1
2
4
5



但是不知道为什么放在宏里面就不行了,加了%也没用,求指教
%macro a;
(data c; 有没有这句结果都一样)
%do i=1 %to 5;
%if i=3 %then stop;
%put i;
%end;
run;
%mend;
%a;


结果
i
i
i
i
i



二维码

扫码加我 拉你入群

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

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

全部回复
2013-1-21 22:49:22
原理不一样。宏里面可以用%goto。
二维码

扫码加我 拉你入群

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

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

2013-1-22 09:04:13
zhangzachary 发表于 2013-1-21 22:49
原理不一样。宏里面可以用%goto。
好的,谢谢啊
二维码

扫码加我 拉你入群

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

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

2013-1-22 20:44:46
zhangzachary 发表于 2013-1-21 22:49
原理不一样。宏里面可以用%goto。
不好意思啊,还是要麻烦你一下,能举个%goto的实例么,我试了半天还是没有成功呢……
二维码

扫码加我 拉你入群

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

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

2013-1-22 21:25:31
%macro a(test);
%if &test.=1 %then %do;
        %put Go to End;
        %goto EndMacro;
%end;
%else %do;
        %put Do not go to End;
%end;
%EndMacro:;
%mend a;

%a(1);
%a(2);
二维码

扫码加我 拉你入群

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

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

2013-1-22 21:36:53
%macro whatever;
%do i=1 %to 5;
%if &i=3 %then %goto endmacro;
%put &i;
%endmacro:;
%end;
%mend;

%whatever
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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