Veröffentlicht am :
Makro CREATION_INTERNE

Makro doallitem - Iterative Codeausführung

Dieser Code ist auch verfügbar auf: English Español Français
Dieses Makro akzeptiert eine Liste von durch Leerzeichen getrennten Elementen und ein SAS©-Codefragment (in einfachen Anführungszeichen eingeschlossen). Es iteriert über die Liste und führt den Code für jedes Element aus, wobei das aktuelle Element über die Makrovariable `&item` verfügbar gemacht wird. Das Skript enthält eine Syntaxprüfung für Anführungszeichen. Hinweis: Es ist von einem externen Unter-Makro `%words` abhängig (nicht in diesem Code enthalten).
Datenanalyse

Type : CREATION_INTERNE


Das Skript definiert nur eine Makro-Logik und liest oder erstellt keine Datentabellen von selbst.

1 Codeblock
MACRO
Erklärung :
Zeigt eine Nachricht im Log an und definiert dann das Makro `doallitem`. Das Makro prüft, ob der Parameter `code` in Anführungszeichen steht, durchläuft von 1 bis zur Anzahl der Wörter in `__dolist` (über `%words`), extrahiert jedes Wort in `&item` und führt den übergebenen Code aus.
Kopiert!
1%put MACRO CALLED: doallitem v1.1;
2 
3%macro doallitem(__dolist,code);
4 %local i item err;
5 %let err=ERR%str(OR);
6 %IF %qsubstr(&code,1,1) NE %str(%')
7 or %qsubstr(&code,%length(&code),1) NE %str(%') %THEN
8 %put &err: (doallitem) Code supplied to second parameter must be enclosed in single quotes;
9 %ELSE %DO i=1 %to %words(&__dolist);
10 %let item=%scan(&__dolist,&i,%str( ));
11 %substr(&code,2,%LENGTH(&code)-2)
12 %END;
13%mend doallitem;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
Urheberrechtsinformationen : Roland Rashleigh-Berry - Gemeinfreie Software