Das Skript erstellt den Datensatz `WORK.EMAILS`, indem es direkt die 'Email'- und 'Person'-Objekte abfragt, die in den SAS-Metadaten definiert sind. Der Verweis auf ` @code_sas_json/identity.json` in den `metadata_resolve`- und `metadata_getnobj`-Aufrufen ist Teil der Syntax des Metadatenobjekt-Identifikators und bedeutet nicht, dass der Inhalt der JSON-Datei als externe Datenquelle für den `DATA STEP` verwendet wird.
1 Codeblock
OPTIONS
Erklärung : Dieser Block konfiguriert die globalen SAS-Optionen, die für den Aufbau einer Verbindung zum SAS-Metadatenserver erforderlich sind. Er spezifiziert den Metadatenserver, den Port, den Benutzernamen, das Passwort, das Repository und das Kommunikationsprotokoll. Diese Parameter sind unerlässlich, damit das Skript mit der Metadatenumgebung interagieren und Informationen daraus extrahieren kann.
Erklärung : Dieser `DATA STEP`-Block ist für die Erstellung des Datensatzes `WORK.EMAILS` und die Datenextraktion verantwortlich. Er initialisiert die Variablen und verwendet dann `metadata_resolve`, um die 'Email'-Objekte in den Metadaten zu zählen. Eine Schleife wird ausgeführt, wenn 'Email'-Objekte gefunden werden. Bei jeder Iteration werden die Funktionen `metadata_getnobj`, `metadata_getattr` und `metadata_getnasn` sequenziell verwendet, um den URI des 'Email'-Objekts, die zugehörige E-Mail-Adresse, den verknüpften Benutzer-URI und schließlich den Namen dieses Benutzers abzurufen. Die `output`-Anweisung schreibt die extrahierten Informationen für jede gefundene E-Mail in den Datensatz `WORK.EMAILS`.
Kopiert!
data work.emails; /* Create a dataset, work.emails. */
/* define and initialize variables. */
length type id email_add email_uri user_uri user_name $ 50;
call missing (type,id,email_add,email_uri,user_uri,user_name);
/* Count the email objects defined in Metadata. */
email_count=metadata_resolve("omsobj:Email? @code_sas_json/identity.json contains '.'",type,id);
/* If any are present, for each one gather their attributes. */
if email_count > 0 then do n=1 to email_count;
rc=metadata_getnobj("omsobj:Email? @code_sas_json/identity.json contains '.'",1,email_uri);
rc=metadata_getattr(email_uri,"Address",email_add);
rc=metadata_getnasn(email_uri,"Persons",1,user_uri);
rc=metadata_getattr(user_uri,"Name",user_name);
output; /* Write the attributes gathered to the dataset. */
end;
run;
1
DATA work.emails; /* Create a dataset, work.emails. */
2
3
/* define and initialize variables. */
4
LENGTH type id email_add email_uri user_uri user_name $ 50;
OUTPUT; /* Write the attributes gathered to the dataset. */
17
END;
18
RUN;
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.
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.