Veröffentlicht am :
Macro CREATION_INTERNE

Makro für verschachtelte String-Analyse

Dieser Code ist auch verfügbar auf: English Español Français
Das Makro `AHGscan2` dient dazu, ein spezifisches Element aus einer gegebenen Zeichenkette zu extrahieren, wobei zwei Ebenen von Trennzeichen berücksichtigt werden. Es verwendet die SAS©-Funktion `%SCAN` verschachtelt: ein erstes `%SCAN`, um einen Abschnitt des Hauptstrings unter Verwendung des ersten Trennzeichens (`dlm`) zu isolieren, und dann ein zweites `%SCAN` auf diesem Abschnitt, um ein präzises Element mit Hilfe des zweiten Trennzeichens (`dlm2`) zu extrahieren. Die Standardtrennzeichen sind der umgekehrte Schrägstrich (\) und das Rautezeichen (#). Dieses Makro ist nützlich, um komplexe strukturierte Strings zu parsen, bei denen Informationen durch verschiedene Begrenzungsschemata innerhalb von Segmenten getrennt sind.
Datenanalyse

Type : CREATION_INTERNE


Das Makro operiert auf einer Zeichenkette, die ihm als Parameter (`mac`) übergeben wird. Es erstellt oder verwendet keine externen oder internen SAS-Datensätze (SASHELP) direkt. Die verarbeiteten 'Daten' sind der Eingabestring, der beim Aufruf des Makros bereitgestellt wird.

1 Codeblock
MACRO
Erklärung :
Dieser Block definiert das Makro `AHGscan2`. Es nimmt vier Parameter entgegen: `mac` (den Quellstring), `i` (den Index des Elements, das auf der ersten Scan-Ebene extrahiert werden soll), `j` (den Index des Elements, das auf der zweiten Scan-Ebene extrahiert werden soll), `dlm` (das erste Trennzeichen, standardmäßig `\`) und `dlm2` (das zweite Trennzeichen, standardmäßig `#`). Der Makro-Körper führt ein externes `%SCAN` unter Verwendung von `dlm` auf dem String `mac` am Index `i` durch, gefolgt von einem internen `%SCAN` auf dem Ergebnis mit `dlm2` am Index `j`. Das Endergebnis ist der extrahierte Teilstring.
Kopiert!
1%macro AHGscan2(mac,i,j,dlm=\,dlm2=#);
2%scan(%scan(&mac,&i,&dlm),&j,&dlm2)
3%mend;
4 
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.