El script crea el conjunto de datos `WORK.EMAILS` consultando directamente los objetos 'Email' y 'Person' definidos en los metadatos SAS. La referencia a ` @code_sas_json/identity.json` en las llamadas `metadata_resolve` y `metadata_getnobj` es parte de la sintaxis del identificador del objeto de metadatos y no significa que el contenido del archivo JSON se use como fuente de datos externa para el `DATA STEP`.
1 Bloque de código
OPTIONS
Explicación : Este bloque configura las opciones globales de SAS necesarias para establecer una conexión con el servidor de metadatos de SAS. Especifica el servidor de metadatos, el puerto, el nombre de usuario, la contraseña, el repositorio y el protocolo de comunicación. Estos parámetros son esenciales para que el script pueda interactuar con el entorno de metadatos y extraer información de él.
Explicación : Este bloque `DATA STEP` es responsable de la creación del conjunto de datos `WORK.EMAILS` y de la extracción de datos. Inicializa las variables y luego utiliza `metadata_resolve` para contar los objetos 'Email' en los metadatos. Se ejecuta un bucle si se encuentran objetos 'Email'. En cada iteración, las funciones `metadata_getnobj`, `metadata_getattr` y `metadata_getnasn` se utilizan secuencialmente para recuperar la URI del objeto 'Email', la dirección de correo electrónico asociada, la URI del usuario vinculado y finalmente el nombre de ese usuario. La instrucción `output` escribe la información extraída en el conjunto de datos `WORK.EMAILS` para cada correo electrónico encontrado.
¡Copiado!
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;
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: 09FEB2017
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.