Die Quelldaten für den Bericht werden intern von `PROC DATASETS` generiert, das die Metadaten aus den Tabellen der vom Benutzer angegebenen Bibliothek extrahiert. `DICTIONARY.MEMBERS` ist eine SAS-Systemansicht, die verwendet wird, um den Bibliotheks-Pfad abzurufen.
1 Codeblock
Macro
Erklärung : Definition des Makros `MetaShort`, das einen Parameter `lib` akzeptiert. Wenn `lib` leer ist, wird die Makrovariable `&pname` als Standardwert für die Bibliothek verwendet.
Erklärung : Erstellt ein benutzerdefiniertes Format `type.`, um die numerischen Werte 1 und 2 als Zeichenketten ('Num' und 'Char') anzuzeigen, die die Variablentypen darstellen.
Kopiert!
proc format;
value type 2="Char"
1 = "Num";
run;
1
PROC FORMAT;
2
value type 2="Char"
3
1 = "Num";
4
RUN;
3 Codeblock
PROC DATASETS Data
Erklärung : Verwendet `PROC DATASETS`, um die Metadaten aller Datentabellen (`memtype=data`) der angegebenen Bibliothek (`&lib`) zu extrahieren. Die Inhaltsinformationen werden in der temporären Tabelle `WORK.TEMP` gespeichert.
Erklärung : Eine `PROC SQL`-Abfrage wird ausgeführt, um den physischen Pfad (`path`) der Bibliothek (`&lib`) aus der Systemansicht `DICTIONARY.MEMBERS` abzurufen. Der Pfad wird in der Makrovariablen `&libpath` gespeichert und Leerzeichen werden entfernt.
Kopiert!
proc sql noprint;
select path into: libpath
from Dictionary.members
where libname =upcase("&lib");
quit;
%let libpath=%sysfunc(strip(&libpath));
1
PROC SQL noprint;
2
select path into: libpath
3
from Dictionary.members
4
where LIBNAME =upcase("&lib");
5
QUIT;
6
7
%let libpath=%sysfunc(strip(&libpath));
5 Codeblock
PROC REPORT
Erklärung : Bereitet das ODS HTML5-Ziel vor, um eine Datei `meta.html` im Bibliotheks-Pfad zu erstellen. `PROC REPORT` verwendet die Tabelle `WORK.TEMP`, um den Bericht zu generieren. Es werden Spalten für den Datensatznamen, den Variablennamen, seinen Typ (formatiert), seine Länge, sein Format, sein Informat und seine Beschriftung angezeigt. Nach jeder Variablengruppe für einen bestimmten Datensatz wird eine leere Zeile hinzugefügt. Die ODS-Ziele werden anschließend geschlossen und zurückgesetzt.
Kopiert!
title "Datasets in &lib";
odds html5 path="&libpath" (url="")
body="meta.html";
proc report data=work.temp headline headskip spacing=2 ;
columns memname name type length format informat label;
define memname /order order=data "Dataset" ;
define name /display "Variable";
define type /display format=type. "Type";
define length /display "Length";
define format /display "Format";
define informat /display "Informat";
define label /display "Label";
compute after memname;
line ' ';
endcomp;
run;
odds html5 close;
odds html;
title ;
columns memname name type LENGTHFORMAT informat label;
6
define memname /order order=DATA"Dataset" ;
7
define name /display "Variable";
8
define type /display FORMAT=type. "Type";
9
define LENGTH /display "Length";
10
define FORMAT /display "Format";
11
define informat /display "Informat";
12
define label /display "Label";
13
compute after memname;
14
line ' ';
15
endcomp;
16
RUN;
17
odds html5 close;
18
odds html;
19
title ;
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 : *************************************************************************
* MetaShort
* report the metadata of variables in the given lib including name, type,
* length, format, informat, and label
* *************************************************************************
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.