Veröffentlicht am :
Macro SASHELP

Makro zur Suche nach Makros anhand eines Präfixes

Dieser Code ist auch verfügbar auf: Español Français
Das Makro `AHGurlMacros` akzeptiert zwei Parameter: `startwith` (das zu suchende Präfix, Standard 'AHGurl') und `into` (der Name der Makro-Variablen, in der die Liste der gefundenen Makros gespeichert wird, Standard 'AHGmacs'). Es verwendet `PROC SQL`, um die Systemansicht `sashelp.vmacro` abzufragen und die Makros zu filtern, deren Namen mit der in `startwith` angegebenen Zeichenfolge beginnen (der Vergleich ist dank `%upcase` unempfindlich gegenüber Groß- und Kleinschreibung). Die Namen der übereinstimmenden Makros werden dann in der durch `into` angegebenen Makro-Variablen gespeichert, getrennt durch Leerzeichen. Dieses Makro ist nützlich für die Introspektion der SAS©-Umgebung und die dynamische Verwaltung von Makros.
Datenanalyse

Type : SASHELP


Das Skript fragt die Systemansicht `sashelp.vmacro` ab, die Metadaten zu den in der aktuellen Sitzung kompilierten und verfügbaren SAS-Makros bereitstellt.

1 Codeblock
MACRO DEFINITION / PROC SQL
Erklärung :
Dieser Block definiert das Makro `AHGurlMacros` mit zwei Parametern. Innerhalb davon wird `PROC SQL` verwendet, um die Spalte `name` (Makroname) aus der Tabelle `sashelp.vmacro` auszuwählen. Die `where`-Klausel filtert die Einträge, um nur Makros einzuschließen, deren Name mit dem Wert des `startwith`-Parameters beginnt (nach Umwandlung in Großbuchstaben für eine nicht-Groß-/Kleinschreibung-empfindliche Suche). Die gefundenen Makronamen werden dann in der durch den `into`-Parameter angegebenen Makro-Variablen verkettet, wobei jeder Name durch ein Leerzeichen getrennt ist.
Kopiert!
1%macro AHGurlMacros(startwith=AHGurl,into=AHGmacs);
2 PROC SQL noprint;
3 select name into :&into separated BY ' '
4 from sashelp.vmacro
5 where index(name,%upcase("&startwith"))=1
6 ;QUIT;
7%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.