Veröffentlicht am :
Makro CREATION_INTERNE

Makro zur Ausrichtung und Formatierung mittels regulärer Ausdrücke

Dieser Code ist auch verfügbar auf: English Español Français
Dieses Makro iteriert über eine Liste von Variablen, die als Parameter übergeben werden (durch Leerzeichen getrennt). Für jede Variable wird SAS©-Code generiert (der in einem DATA-Schritt ausgeführt werden soll), der eine Reihe von `PRXCHANGE`-Funktionen anwendet. Diese Transformationen zielen darauf ab, den Abstand um Zahlen, Klammern und Dezimalpunkte zu standardisieren. Beachten Sie, dass dieser Code von einem externen Makro `%AHGcount` abhängt, das hier nicht bereitgestellt wird.
Datenanalyse

Type : CREATION_INTERNE


Das Skript definiert ein Dienstmakro. Es liest keine Daten direkt, sondern manipuliert Variablen, die als Argumente in einem aufrufenden Data-Schritt übergeben werden.

1 Codeblock
MACRO
Erklärung :
Definition des Makros `AHGalign`. Es durchläuft die bereitgestellte Variablenliste (`allvar`) unter Verwendung des Drittanbieter-Makros `%AHGcount`. Für jede Variable werden vier `PRXCHANGE`-Anweisungen eingefügt, um: 1) Zahlen, denen Klammern folgen, zu formatieren. 2) Zwei Leerzeichen vor einzelnen Ziffern hinzuzufügen. 3) Ein Leerzeichen vor zweistelligen Zahlen hinzuzufügen. 4) Leerzeichen nach einem Punkt zu entfernen.
Kopiert!
1%macro AHGalign(allvar);
2 %local var i;
3 %DO i=1 %to %AHGcount(&allvar);
4 %let var=%scan(&allvar,&i);
5 &var=PRXCHANGE('s/\s*(\d+)\s*\((\S*)\s*\)/\1 (\2)/',-1,&var);
6 &var=PRXCHANGE('s/(\b\d\b)/ \1/',-1,&var);
7 &var=PRXCHANGE('s/(\b\d\d\b)/ \1/',-1,&var);
8 &var=PRXCHANGE('s/(\.\s*)/./',-1,&var);
9 %END;
10%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.