Veröffentlicht am :
Macro MIXTE

Metadaten der Variablen eines Datensatzes anzeigen

Dieser Code ist auch verfügbar auf: English Español Français
Diese Makro durchläuft eine Liste von Datensätzen, die vom Benutzer angegeben wurden. Für jeden Datensatz führt es eine `PROC CONTENTS` aus, um die Metadaten der Variablen (Name, Typ, Format) in eine Ausgabetabelle zu extrahieren. Anschließend wird diese Ergebnistabelle mit einer `PROC PRINT` ausgegeben. Die Parameter ermöglichen die Angabe der Tabellenliste, der Bibliothek (Standard 'work') und des Namens der Ausgabetabelle.
Datenanalyse

Type : MIXTE


Die Makro ist ein Dienstprogramm-Makro, das für die Arbeit mit jedem SAS-Dataset entwickelt wurde, sei es aus der SASHELP-Bibliothek (wie in den Beispielen), intern erstellt (über Datalines) oder aus einer externen Quelle importiert.

1 Codeblock
MACRO
Erklärung :
Die Makrofunktion 'contents' akzeptiert als Parameter eine Liste von Tabellen ('datasets'), eine Bibliothek ('lib', standardmäßig 'work') und eine Ausgabetabelle ('outds'). Sie durchläuft jede Tabelle in der Liste mithilfe von %DO und %SCAN. Für jede Tabelle führt sie `PROC CONTENTS` aus, um die Metadaten der Variablen zu extrahieren. Die Anweisung `ODS OUTPUT` leitet die Tabelle 'Variables' von PROC CONTENTS an das durch `&outds` angegebene Ausgabedataset um. Die Standardausgabe von PROC CONTENTS wird über `ODS LISTING CLOSE` unterdrückt. Schließlich wird `PROC PRINT` verwendet, um den Inhalt des Ergebnis-Datasets anzuzeigen.
Kopiert!
1%macro contents(datasets, lib=work, outds=tmp);
2 
3 * Count the number of datasets provided and start the loop;
4 %DO i = 1 %to %sysfunc(countw(&datasets));
5 
6 * Extract the i-th dataset from the list;
7 %let dsn = %scan(&datasets, &i);
8 
9 * Outputting to the log file;
10 %put Checking contents of the dataset &i.;
11
12 * Suppress printing to the listings;
13 ods listing close;
14 PROC CONTENTS order=casecollate DATA=&lib..&dsn;
15 
16 * Output the dataset;
17 ods OUTPUT Variables=&outds (keep=Num Variable Type FORMAT);
18 RUN;
19 ods listing;
20 
21 * Print the dataset;
22 PROC PRINT DATA=&outds;
23 RUN;
24 %END;
25 
26 %mend contents;
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 : Luke W Johnston, 2014-10-08