El conjunto de datos `work.users` se crea y se rellena dinámicamente a partir de la información extraída del servidor de metadatos de SAS a través de las funciones `metadata_getnobj` y `metadata_getattr`. No hay una fuente de datos externa al script (archivo, base de datos) ni un conjunto de datos SASHELP utilizado directamente como entrada.
1 Bloque de código
OPTIONS
Explicación : Este bloque configura las opciones de conexión al servidor de metadatos de SAS. Especifica la dirección del servidor (`metaserver`), el puerto (`metaport`), las credenciales del usuario (`metauser`, `metapass`), el repositorio de metadatos (`metarepository`) y el protocolo de comunicación (`metaprotocol`). Esta información es esencial para establecer la conexión e interrogar los metadatos.
Explicación : Este bloque `DATA STEP` es responsable de la creación del conjunto de datos `work.users` y de su llenado con los identificadores de usuario. Declara e inicializa las variables necesarias. Utiliza `metadata_getnobj` para encontrar el dominio de autenticación 'DefaultAuth' y su URI, y luego `metadata_getattr` para recuperar su identificador. Luego, un bucle `do while` recorre todos los objetos de inicio de sesión (Login) asociados a este dominio. Para cada Login, el identificador de usuario (`UserID`) se extrae a través de `metadata_getattr` y se agrega al conjunto de datos `work.users`. Solo la variable `user_id` se conserva en el conjunto de datos final.
¡Copiado!
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. */
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Author: Greg Wootton Date: 08FEB2017
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.