Der Datensatz `work.users` wird dynamisch aus den Informationen erstellt und gefüllt, die vom SAS-Metadaten-Server über die Funktionen `metadata_getnobj` und `metadata_getattr` extrahiert wurden. Es gibt keine externe Datenquelle (Datei, Datenbank) oder SASHELP-Datensatz, der direkt als Eingabe verwendet wird.
1 Codeblock
OPTIONS
Erklärung : Dieser Block konfiguriert die Verbindungsoptionen zum SAS-Metadaten-Server. Er gibt die Serveradresse (`metaserver`), den Port (`metaport`), die Benutzeranmeldeinformationen (`metauser`, `metapass`), das Metadaten-Repository (`metarepository`) und das Kommunikationsprotokoll (`metaprotocol`) an. Diese Informationen sind wesentlich, um die Verbindung herzustellen und Metadaten abzufragen.
Erklärung : Dieser `DATA STEP`-Block ist für die Erstellung des Datensatzes `work.users` und dessen Befüllung mit Benutzer-IDs verantwortlich. Er deklariert und initialisiert die notwendigen Variablen. Er verwendet `metadata_getnobj`, um die Authentifizierungsdomäne 'DefaultAuth' und deren URI zu finden, und dann `metadata_getattr`, um deren ID abzurufen. Anschließend durchläuft eine `do while`-Schleife alle mit dieser Domäne verknüpften Login-Objekte. Für jedes Login wird die Benutzer-ID (`UserID`) über `metadata_getattr` extrahiert und dem Datensatz `work.users` hinzugefügt. Nur die Variable `user_id` wird im finalen Datensatz beibehalten.
Kopiert!
data work.users; /* Create work.users library to house data. */
/* declare variables */
length
ad_uri $ 256
ad_id $ 256
login_uri $ 256
user_id $ 256;
/* initialize variables. */
call missing(ad_uri,ad_id,login_uri,user_id);
keep user_id; /* only keep the user ids in the table. */
n=1;
/* Get the URI for the DefaultAuth Authentication Domain. */
adrc=metadata_getnobj("omsobj:AuthenticationDomain? @code_sas_json_prod_multi/libname_de.json = 'DefaultAuth'",1,ad_uri);
rc=metadata_getattr(ad_uri,"Id",ad_id);
/* Get number of login objects that have the DefaultAuth authentication */
/* domain associated with them, as well as the URI of the first login. */
loginrc=metadata_getnobj("omsobj:Login?Login[Domain/AuthenticationDomain[ @Id='"||ad_id||"']",n,login_uri);
do while(loginrc>0);
/* extract the user ID from login */
rc=metadata_getattr(login_uri,"UserID",user_id);
output;
n+1;
/* Get the URI of the next login. */
loginrc=metadata_getnobj("omsobj:Login?Login[Domain/AuthenticationDomain[ @Id='"||ad_id||"']",n,login_uri);
end;
run;
1
DATA work.users; /* Create work.users library to house data. */
2
3
/* declare variables */
4
5
LENGTH
6
ad_uri $ 256
7
ad_id $ 256
8
login_uri $ 256
9
user_id $ 256;
10
11
/* initialize variables. */
12
13
call missing(ad_uri,ad_id,login_uri,user_id);
14
keep user_id; /* only keep the user ids in the table. */
15
16
n=1;
17
/* Get the URI for the DefaultAuth Authentication Domain. */
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.