Macro Do Loop Continue or Leave
Article Options
- Article History
- RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
Views
12,263
This example shows data step and macro examples of the loop exit verbs:
- continue: skip to 'end;' statement, where iteration happens
- leave: exit loop
DATA _Null_; do I = 1 to 3; put I= 'pre-test'; if I le 2 then continue; put I= 'post test'; end; put 'done continue: ' I= ; do J = 1 to 3; put J= 'pre-test'; if J gt 2 then leave; put J= 'post test'; end; put 'done leave: ' J= ; stop; run; %Macro Do_Tests(i=,j=); %do I = 1 %to 3; %put I=&I. pre-test; %if &I le 2 %then %goto continue; %put I=&I. post test; %continue: %end; %put done continue: I=&I. ; %do J = 1 %to 3; %put J=&J. pre-test; %if &J. gt 2 %then %goto leave; %put J=&J. post test; %end; %leave: %put done leave: J=&J. ; %Mend; %Do_Tests
This was originally posted by Ron Fehd on sasCommunity.org