Veröffentlicht am :

Kompilierung und Verwendung von SAS-Makros mit MCOMPILENOTE

Dieser Code ist auch verfügbar auf: English Español Français
Der Skript beginnt mit einer detaillierten Erklärung der Kompilierung von SAS©-Makros, wobei hervorgehoben wird, dass der Makroprozessor die Syntax der Makroanweisungen überprüft und die kompilierte Definition in einem temporären SAS©-Katalog (normalerweise `work.sasmacr`) speichert. Es wird die Bedeutung der Option `MCOMPILENOTE=ALL` betont, um den Erfolg der Kompilierung zu bestätigen und Informationen über das Makro (Anzahl der Anweisungen, Größe) im SAS©-Log zu erhalten. Das Makro `prtlast` wird als praktisches Beispiel bereitgestellt, das `PROC PRINT` verwendet, um die ersten 10 Zeilen der letzten SAS©-Tabelle (`&syslast`) der Sitzung anzuzeigen.
Datenanalyse

Type : INTERNE


Der Code verwendet die automatische Makrovariable `&syslast`, die auf die zuletzt in der aktuellen Sitzung erstellte oder geänderte SAS-Tabelle verweist. Die Daten stammen also aus der SAS-Sitzung selbst, nicht aus einer externen Quelle oder wurden direkt von diesem Skript erstellt.

1 Codeblock
OPTION
Erklärung :
Diese SAS-Anweisung aktiviert die Systemoption `MCOMPILENOTE=ALL`. Dadurch wird SAS so konfiguriert, dass jedes Mal, wenn ein Makro kompiliert wird, eine Notiz im Protokoll ausgegeben wird, die den Erfolg der Kompilierung, die Anzahl der Anweisungen und die Größe des Makros angibt.
Kopiert!
1options mcompilenote = all;
2 Codeblock
MACRO DEFINITION (%prtlast)
Erklärung :
Dieser Block definiert ein SAS-Makro namens `prtlast`. Bei Ausführung verwendet dieses Makro `PROC PRINT`, um die ersten zehn Beobachtungen (`obs=10`) der letzten in der Sitzung erstellten oder geänderten SAS-Tabelle (`&syslast`) anzuzeigen. Ein dynamischer Titel, der den Namen der verarbeiteten Tabelle enthält, wird ebenfalls auf die Auflistung angewendet.
Kopiert!
1 %macro prtlast;
2 PROC PRINT DATA=&syslast (obs=10);
3 title "Listing of &syslast data set";
4 RUN;
5 %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.