table

attribute

##set_table ##data_management

Description

Gère les attributs étendus (extended attributesMétadonnées personnalisées stockées avec les tables ou colonnes SAS Viya. Ils permettent d'ajouter des informations spécifiques (étiquettes, types métiers) non supportées par les attributs standards.) d'une table CAS en mémoire. Considérez cela comme la possibilité de coller des post-its virtuels contenant des métadonnéesInformations décrivant les données, les utilisateurs et les ressources dans SAS Viya. Elles assurent la traçabilité, la sécurité et la gouvernance au sein de l'architecture distribuée. (comme l'origine, le niveau de confidentialité, etc.) directement sur votre table ou sur des colonnes spécifiques, sans pour autant modifier les données elles-mêmes ! Source :

Syntaxe Officielle
proc cas;
table.attribute /
attributes={{column="chaine", key="chaine", value="chaine" | 64-bit-integer | integer | double | binary-large-object}, ...}
caslib="chaine"
name="chaine"
set="chaine"
table="chaine" /* alias: attrTable */
task="ADD" | "CONVERT" | "DROP" | "EXPORT" | "UPDATE"
xml="chaine"
xmlPath="chaine";
run;
quit;

Paramètres Clés

Nom du paramètre Description
attributes Spécifie les attributs étendus à manipuler. Vous devez obligatoirement préciser le paramètre 'set' si vous utilisez celui-ci. Chaque attribut nécessite au moins une clé ('key', requise), et optionnellement une valeur ('value') et une cible ('column').
caslib Indique la caslib cible (la bibliothèque en mémoire) contenant la table des attributs.
name Le nom de la table cible sur laquelle appliquer ou lire les attributs étendus. (Requis)
set Définit le nom du jeu (set) d'attributs étendus. C'est obligatoire lors de l'utilisation du paramètre 'attributes'.
table Désigne le nom d'une table d'attributs existante à utiliser avec les tâches ADD, UPDATE ou CONVERT.
task La mission à exécuter. Par défaut, c'est 'ADD' (ajouter). Les autres options sont 'CONVERT' (convertir), 'DROP' (supprimer), 'EXPORT' (exporter) et 'UPDATE' (mettre à jour).
xml / xmlPath Permet de fournir les attributs étendus de manière avancée sous forme de chaîne XML ('xml') ou depuis un fichier physique ('xmlPath').

Préparation des données

Création d'une table d'exemple

Créons une petite table de test dans l'environnement CAS pour pouvoir y accrocher nos superbes étiquettes.

1PROC CAS;
2 TABLE.dropTable / caslib="casuser" name="ma_table" quiet=true;
3 datastep.runCode / code="data casuser.ma_table; id=1; valeur='Test'; run;";
4RUN;
5QUIT;

Exemples d'utilisation

Ajout d'attributs simples

On ajoute un attribut à la table entière et un autre spécifique à la colonne 'valeur'. C'est le b.a.-ba de l'étiquetage !

1PROC CAS;
2 TABLE.attribute /
3 task="ADD"
4 name="ma_table"
5 caslib="casuser"
6 SET="MesLabels"
7 attributes={
8 {key="Confidentialite", value="Publique"},
9 {column="valeur", key="Type", value="Chaine de test"}
10 };
11RUN;
12QUIT;
Résultat Attendu :
Les attributs sont ajoutés silencieusement à la table 'ma_table' dans l'environnement CAS.
Mise à jour et vérification (Export)

L'attribut a changé ? Pas de problème, on le met à jour avec la tâche 'UPDATE' puis on utilise 'EXPORT' pour vérifier le résultat de nos manigances.

1PROC CAS;
2 /* 1. Mise a jour de l'attribut existant */
3 TABLE.attribute /
4 task="UPDATE"
5 name="ma_table"
6 caslib="casuser"
7 SET="MesLabels"
8 attributes={
9 {key="Confidentialite", value="Top Secret"}
10 };
11 /* 2. Exportation pour afficher les attributs actuels */
12 TABLE.attribute RESULT=res_attr /
13 task="EXPORT"
14 name="ma_table"
15 caslib="casuser";
16 PRINT res_attr;
17RUN;
18QUIT;
Résultat Attendu :
Le journal SAS (log) affichera les attributs étendus de la table dans l'objet 'res_attr', prouvant que la clé 'Confidentialite' est bien passée à la valeur 'Top Secret'.