Le script crée le jeu de données `WORK.EMAILS` en interrogeant directement les objets 'Email' et 'Person' définis dans la métadonnée SAS. La référence à `@code_sas_json/identity.json` dans les appels `metadata_resolve` et `metadata_getnobj` fait partie de la syntaxe de l'identifiant de l'objet de métadonnées et ne signifie pas que le contenu du fichier JSON est utilisé comme source de données externe pour le `DATA STEP`.
1 Bloc de code
OPTIONS
Explication : Ce bloc configure les options globales SAS nécessaires pour établir une connexion au serveur de métadonnées SAS. Il spécifie le serveur de métadonnées, le port, le nom d'utilisateur, le mot de passe, le référentiel et le protocole de communication. Ces paramètres sont essentiels pour que le script puisse interagir avec l'environnement de métadonnées et en extraire des informations.
Explication : Ce bloc `DATA STEP` est responsable de la création du jeu de données `WORK.EMAILS` et de l'extraction des données. Il initialise les variables, puis utilise `metadata_resolve` pour compter les objets 'Email' dans la métadonnée. Une boucle est exécutée si des objets 'Email' sont trouvés. À chaque itération, les fonctions `metadata_getnobj`, `metadata_getattr` et `metadata_getnasn` sont utilisées de manière séquentielle pour récupérer l'URI de l'objet 'Email', l'adresse e-mail associée, l'URI de l'utilisateur lié et enfin le nom de cet utilisateur. L'instruction `output` écrit les informations extraites dans le jeu de données `WORK.EMAILS` pour chaque e-mail trouvé.
Copié !
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;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Author: Greg Wootton Date: 09FEB2017
« Ce script démontre une utilisation avancée des fonctions d'interface de métadonnées SAS, une compétence clé pour l'administration et l'audit de la plateforme. Au lieu de s'appuyer sur des tables statiques, le programme interroge directement le serveur de métadonnées en temps réel.
Pour une mise en production, évitez de laisser les identifiants metauser et metapass en clair. Privilégiez l'utilisation d'un fichier de configuration sécurisé ou d'un profil d'authentification crypté. »
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.