Expertentipp:
Wussten Sie schon, wie Sie in einem SAS Programm einen Schritt bedingt ausführen können, ohne extra ein Makroprogramm schreiben zu müssen?
Und so geht’s:
Ab SAS Version SAS 9.4 M5 kann das bedingte Ausführen mit %IF-%THEN auch in ganz normalen SAS Programmen (außerhalb von Makroprogrammen) verwendet werden.
Allerdings gibt es Folgendes zu beachten:
- Immer %DO und %END verwenden
- Keine verschachtelten %IFs
Beispiel:
%if &sysday = Wednesday %then %do;
proc print data= sashelp.class;
run;
%end;
%else %do;
%put Heute ist nicht Mittwoch;
%end;
Folgendes Beispiel funktioniert nicht, da %DO und %END nicht verwendet wurden:
/* Geht nicht: Immer %DO und %END erforderlich */
%if &sysday = Wednesday %then %put Heute ist Mittwoch;
%else %put Heute ist nicht Mittwoch;
Auch der IN-Operator kann im offenen Code nicht verwendet werden!
So geht es folglich auch nicht:
/* Kein IN-Operator im offenen Code! */
%if &sysday in Monday Tuesday %then %do;
%put Montag oder Dienstag;
%else %put Weder Montag noch Dienstag;
Diese Funktionen und noch viele mehr lernen Sie im Kurs SAS® Macro Language 1: Essentials.