Veröffentlicht am :
Macro CREATION_INTERNE

Generierung von IF-THEN-Skeletten im Log

Dieser Code ist auch verfügbar auf: English Español Français
Dieses Makro durchläuft eine im Parameter 'values' angegebene Werteliste. Für jeden Wert erstellt es eine bedingte Anweisung 'if var=wert then do; ... end;' und schreibt diese über %PUT in das Protokoll (Log). Es verwaltet das Hinzufügen von Anführungszeichen um die Werte, wenn der Parameter 'quote' aktiviert ist. Es hängt von einem externen Makro namens '%AHGcount' ab, um Elemente zu zählen.
Datenanalyse

Type : CREATION_INTERNE


Der Code greift nicht auf externe Daten oder SAS-Tabellen zu. Er verarbeitet ausschließlich die als Parameter übergebenen Zeichenketten.

1 Codeblock
MACRO
Erklärung :
Definition des Makros. Es durchläuft die von %AHGcount zurückgegebene Anzahl von Elementen. Bei jeder Iteration extrahiert es einen Wert über %SCAN, wendet gegebenenfalls Anführungszeichen über %SYSFUNC(QUOTE) an und verwendet dann %PUT, um die Syntax eines IF/THEN/DO SAS-Blocks in das Log zu schreiben.
Kopiert!
1%macro AHGifstat(var,values,quote=0,dlm=%str( ));
2 %local i one;
3
4 %DO i=1 %to %AHGcount(&values,dlm=&dlm);
5 %IF "e %THEN %let one=%sysfunc(quote(%scan(&values,&i,&dlm)));
6 %ELSE %let one= %scan(&values,&i,&dlm);
7 %put %str(IF &var=&one THEN );
8 %put %str( DO;);
9 %put %str( );
10 %put %str( END;);
11 %put %str( );
12 %END;
13 
14%mend;
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.