Veröffentlicht am :
Makro SASHELP

Erstellung einer Makrovariablenliste mit PROC SQL

Dieser Code ist auch verfügbar auf: English Español Français
Das Skript verwendet die Klausel INTO :macro_var SEPARATED BY von PROC SQL, um eine durch Leerzeichen getrennte Liste von Werten aus der Spalte 'Name' von SASHELP.CLASS zu erstellen. Es ruft auch die Anzahl der Elemente über die automatische Variable SQLOBS ab.
Datenanalyse

Type : SASHELP


Die Daten stammen aus der Beispieltabelle SASHELP.CLASS.

1 Codeblock
PROC SQL
Erklärung :
Führt eine SQL-Abfrage aus, um die eindeutigen Namen in der Makrovariablen STUDENT_LIST zu verketten und die Anzahl der Ergebnisse in NUM_STUDENTS zu speichern.
Kopiert!
1PROC SQL noprint;
2 select distinct name into :STUDENT_LIST separated BY ' '
3 from sashelp.class;
4 %let NUM_STUDENTS = &sqlobs;
5QUIT;
2 Codeblock
GLOBAL STATEMENTS
Erklärung :
Zeigt den Inhalt der generierten Makrovariablen im Protokoll zur Überprüfung an.
Kopiert!
1* Verify the contents of the new macro variables by printing to the SAS log.;
2options nosource;
3%put ======================;
4%put Number of Students: &NUM_STUDENTS;
5%put Student List: &STUDENT_LIST;
6%put ======================;
7options SOURCE;
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 : Lehrer: Josh Horstman


Expertenrat
Expert
Stéphanie
Spécialiste Machine Learning et IA.
« In der professionellen SAS-Entwicklung ist die Schnittstelle zwischen Tabellenwerten und dem Makro-Prozessor das Herzstück der datengesteuerten Programmierung (Data-Driven Programming). Die Verwendung von PROC SQL ist hierfür die effizienteste Methode, um Spalteninhalte direkt in den Arbeitsspeicher zu laden. »