Veröffentlicht am :

Dynamische Spaltenanzeige mit PROC SQL und PROC PRINT

Dieser Code ist auch verfügbar auf: English Español Français
Der erste Schritt des Skripts verwendet `PROC SQL`, um die Metadatentabelle `dictionary.columns` abzufragen. Es wählt alle Spaltennamen des Datensatzes `SASUSER.HOUSES` aus und speichert sie in einer Makrovariablen namens `varlist`, wobei jeder Spaltenname durch ein Leerzeichen getrennt ist. Der zweite Schritt verwendet `PROC PRINT`, um den Inhalt des Datensatzes `SASUSER.HOUSES` anzuzeigen. Die Verwendung der Klausel `VAR &varlist` ermöglicht die Anzeige nur der Spalten, deren Namen dynamisch abgerufen und in der Makrovariablen gespeichert wurden, wodurch eine anpassbare Datenanzeige gewährleistet wird.
Datenanalyse

Type : MIXTE


Das Skript fragt die Systemtabelle `dictionary.columns` ab, um Metadaten zu den Spalten zu erhalten. Es verwendet dann den Datensatz `SASUSER.HOUSES`, der ein typischer Datensatz der SAS-Umgebung ist und oft standardmäßig oder über Beispiele verfügbar ist.

1 Codeblock
PROC SQL
Erklärung :
Dieser Block verwendet `PROC SQL` im `noprint`-Modus, um die Systemansicht `dictionary.columns` abzufragen. Er wählt alle Spaltennamen des Datensatzes `SASUSER.HOUSES` aus und verkettet sie in der Makrovariablen `varlist`, wobei jeder Name durch ein Leerzeichen getrennt ist, zur späteren Verwendung im Skript.
Kopiert!
1PROC SQL noprint;
2 select name into :varlist separated BY " "
3 from dictionary.columns
4 where upcase(LIBNAME)="SASUSER" and upcase(memname)="HOUSES"
5 order BY name;
6QUIT;
2 Codeblock
PROC PRINT
Erklärung :
Dieser Block führt `PROC PRINT` aus, um die Daten des Datensatzes `sasuser.houses` anzuzeigen. Die Klausel `VAR &varlist;` verwendet die zuvor erstellte Makrovariable `varlist`, um die anzuzeigenden Spalten dynamisch anzugeben, wodurch nur die ausgewählten Spalten sichtbar werden.
Kopiert!
1 
2PROC PRINT
3DATA=sasuser.houses ;
4var &varlist;
5RUN;
6 
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.