sas宏中如何跳出%do循环

在宏外data里做do循环的时候很正常,用continue就可以了,如

data b;
do i=1 to 5;
if i=3 then continue;
put i;
end;
run;

 




结果是
1
2
4
5

 

 

而宏的原理与data step和proc step的运行原理又不一样,我们可以使用%goto语句来跳出%do循环:

%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);

 

 

 

posted @ 2013-12-04 16:42  寒秋绝月  阅读(5268)  评论(0编辑  收藏  举报