Begins a %DO group.
Type: |
Macro statement
|
Restriction: |
Allowed in macro definitions only
|
See also: |
%END Statement
|
%DO;
text and macro language statements
|
The %DO statement designates the beginning
of a section of a macro definition that is treated as a unit until a matching
%END statement is encountered. This macro section is called a %DO group. %DO
groups can be nested.
A simple %DO statement often appears in conjunction
with %IF-%THEN/%ELSE statements to designate a section of the macro to be
processed depending on whether the %IF condition is true or false.
This macro uses two %DO groups with the %IF-%THEN/%ELSE statement to conditionally
print one of two reports.
%macro reportit(request);
%if %upcase(&request)=STAT %then
%do;
proc means;
title "Summary of All Numeric Variables";
run;
%end;
%else %if %upcase(&request)=PRINTIT %then
%do;
proc print;
title "Listing of Data";
run;
%end;
%else %put Incorrect report type. Please try again.;
title;
%mend reportit;
%reportit(stat)
%reportit(printit)
Specifying stat
as a value for the
macro variable REQUEST generates the PROC MEANS step. Specifying printit
generates the PROC PRINT step. Specifying any other value writes a
customized error message to the SAS log.
Copyright © 2009 by SAS Institute Inc., Cary, NC, USA. All rights reserved.