Veröffentlicht am :
Administration CREATION_INTERNE

Extrahieren von E-Mail-Adressen aus SAS-Metadaten

Dieser Code ist auch verfügbar auf: Español Français
Wartet auf Validierung
Attention : Dieser Code erfordert Administratorrechte.
Das Programm stellt eine Verbindung zum SAS©-Metadatenserver her, indem es die globalen Optionen `metaserver`, `metaport`, `metauser`, `metapass` und `metaprotocol` verwendet. Es initialisiert dann einen neuen Datensatz `WORK.EMAILS` mit Variablen für Typ, ID, E-Mail-Adresse, E-Mail-URI, Benutzer-URI und Benutzername, alle mit einer Länge von 50 Zeichen. Die Variablen werden mit fehlenden Werten initialisiert. Die Funktion `metadata_resolve` wird verwendet, um die Anzahl der in den SAS©-Metadaten definierten 'Email'-Objekte zu zählen. Wenn Objekte gefunden werden, iteriert das Skript über jedes einzelne. Für jedes 'Email'-Objekt verwendet es `metadata_getnobj`, um den URI des Objekts abzurufen, und dann `metadata_getattr`, um die E-Mail-Adresse ('Address') zu extrahieren. Anschließend ruft es den zugehörigen Benutzer-URI über `metadata_getnasn` und schließlich den Benutzernamen ('Name') über `metadata_getattr` ab. Jeder gesammelte Informationssatz wird dann in den Datensatz `WORK.EMAILS` geschrieben.
Datenanalyse

Type : CREATION_INTERNE


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.
Kopiert!
1options
2 metaserver="meta.demo.sas.com"
3 metaport=8561
4 metauser="sasadm @saspw"
5 metapass="password"
6 metarepository=Foundation
7 metaprotocol=BRIDGE;
2 Codeblock
DATA STEP Data
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!
1DATA work.emails; /* Create a dataset, work.emails. */
2 
3/* define and initialize variables. */
4LENGTH type id email_add email_uri user_uri user_name $ 50;
5call missing (type,id,email_add,email_uri,user_uri,user_name);
6 
7/* Count the email objects defined in Metadata. */
8email_count=metadata_resolve("omsobj:Email? @code_sas_json/identity.json contains '.'",type,id);
9 
10/* If any are present, for each one gather their attributes. */
11IF email_count > 0 THEN DO n=1 to email_count;
12 rc=metadata_getnobj("omsobj:Email? @code_sas_json/identity.json contains '.'",1,email_uri);
13 rc=metadata_getattr(email_uri,"Address",email_add);
14 rc=metadata_getnasn(email_uri,"Persons",1,user_uri);
15 rc=metadata_getattr(user_uri,"Name",user_name);
16 OUTPUT; /* Write the attributes gathered to the dataset. */
17END;
18RUN;
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 : Author: Greg Wootton Date: 09FEB2017