Veröffentlicht am :
Macro CREATION_INTERNE

Makro zur Extraktion von Dataset-Optionen

Dieser Code ist auch verfügbar auf: Français English Español
Die Funktion des Makros `_option` besteht darin, eine als Argument übergebene Zeichenkette zu analysieren, die einen SAS©-Dataset-Namen darstellt, der Optionen in Klammern enthalten könnte (z.B. `ma_lib.ma_table(keep=var1)`). Sein Ziel ist es, nur den Teilstring zu extrahieren und zurückzugeben, der diese Optionen enthält, ohne den Dataset-Namen einzuschließen. Wenn keine Klammern in der Zeichenkette gefunden werden, gibt das Makro keinen Wert zurück und fungiert spezifisch als gezielter Extraktor.
Datenanalyse

Type : CREATION_INTERNE


Das Makro interagiert weder mit SAS-Tabellen noch liest es Daten aus externen Quellen oder SASHELP. Es operiert ausschließlich auf einer als Argument bereitgestellten Zeichenkette und führt interne Textmanipulationen durch, um einen Substring zu erzeugen. Die verarbeiteten 'Daten' sind also das textuelle Argument des Makros selbst.

1 Codeblock
Logging-Anweisungen
Erklärung :
Dieser Block enthält `%put`-Anweisungen, die verwendet werden, um informative Nachrichten im SAS-Log anzuzeigen. Die erste Zeile bestätigt den Aufruf des Makros `_OPTION` mit einem Ausführungsdatum. Die zweite Zeile zeigt die Copyright-Informationen des Autors an. Die dritte Zeile (`%put;`) fügt eine leere Zeile in das Log ein, um die Lesbarkeit zu verbessern.
Kopiert!
1%put NOTE: You have called the macro _OPTION, 2004-03-29.;
2%put NOTE: Copyright (c) 2001-2004 Rodney Sparapani;
3%put;
4 
2 Codeblock
MAKRO `_option`
Erklärung :
Dieser Block definiert das Makro `_option`, das ein Argument `arg1` (die zu analysierende Zeichenkette) akzeptiert. Eine lokale Makrovariable `i` wird deklariert, um die Position der ersten öffnenden Klammer `(` zu speichern. Die Funktion `%index` wird verwendet, um diese Position zu finden. Wenn eine Klammer gefunden wird (`%if &i %then`), extrahiert die Funktion `%substr` den Teilstring, der direkt nach dieser öffnenden Klammer bis zum Ende der Zeichenkette beginnt. Dieser Teilstring, der die Dataset-Optionen enthalten soll, wird vom Makro zurückgegeben.
Kopiert!
1%macro _option(arg1);
2 
3%local i;
4 
5%let i=%index(&arg1, %str(%());
6 
7%IF &i %THEN %substr(&arg1, &i+1, %LENGTH(%substr(&arg1, &i+1)));
8 
9%mend _option;
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 : Copyright (c) 2001-2004 Rodney Sparapani. Verteilt unter den Bedingungen der GNU General Public License, Version 2 oder höher, ohne explizite oder implizite Garantie.