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.
在宏外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);