?>
L'action `attribute` du jeu d'actions `table` est un outil puissant pour gérer les métadonnées étendues associées aux tables en mémoire dans CAS. Elle permet d'ajouter, de mettre à jour, de supprimer, d'exporter ou de convertir des attributs personnalisés pour une table entière ou pour des colonnes spécifiques. Ces attributs, stockés sous forme de paires clé-valeur, sont essentiels pour enrichir les données avec du contexte supplémentaire, comme des informations de version, des descriptions de variables, des règles de validation ou des métadonnées métier, sans altérer la structure des données elles-mêmes.
| Paramètre | Description |
|---|---|
| attributes | Spécifie les attributs étendus à gérer. Vous devez spécifier le paramètre `set` si vous utilisez ce paramètre. |
| caslib | Spécifie la caslib cible pour la table d'attributs étendus. |
| name | Spécifie le nom de la table en mémoire à laquelle les attributs sont associés. |
| set | Spécifie le nom de l'ensemble d'attributs étendus. |
| table | Spécifie le nom d'une table d'attributs étendus existante à utiliser avec une tâche ADD, UPDATE ou CONVERT. |
| task | Spécifie la tâche à effectuer (ADD, CONVERT, DROP, EXPORT, UPDATE). La valeur par défaut est ADD. |
| xml | Spécifie les attributs étendus sous forme de document XML. |
| xmlPath | Spécifie le chemin d'accès à un fichier contenant les attributs étendus sous forme de document XML. |
Ce code crée une table nommée `CARS_ATTRIBUTES` dans la caslib `casuser`. Cette table sera utilisée dans les exemples pour démontrer la gestion des attributs étendus.
1 DATA casuser.cars_attributes; 2 SET sashelp.cars; 3 RUN;
Cet exemple montre comment ajouter un attribut de table simple, 'Version', avec la valeur '1.0', à la table `CARS_ATTRIBUTES`.
| 1 | PROC CAS; |
| 2 | TABLE.attribute / |
| 3 | name='CARS_ATTRIBUTES', |
| 4 | caslib='casuser', |
| 5 | task='ADD', |
| 6 | attributes={{key='Version', value='1.0'}}; |
| 7 | RUN; |
| 8 | QUIT; |
Cet exemple détaillé illustre un cycle de vie complet de la gestion des attributs. Il commence par ajouter un attribut de table ('Source') et un attribut de colonne ('Description' pour la colonne 'MPG_City'). Ensuite, il met à jour la valeur de l'attribut de table, puis supprime l'attribut de colonne.
| 1 | PROC CAS; |
| 2 | /* Étape 1: Ajouter des attributs de table et de colonne */ |
| 3 | TABLE.attribute / |
| 4 | name='CARS_ATTRIBUTES', |
| 5 | caslib='casuser', |
| 6 | task='ADD', |
| 7 | attributes=[ |
| 8 | {key='Source', value='Internal Data Feed'}, |
| 9 | {key='Description', value='Miles Per Gallon (City)', column='MPG_City'} |
| 10 | ]; |
| 11 | |
| 12 | /* Étape 2: Mettre à jour un attribut de table */ |
| 13 | TABLE.attribute / |
| 14 | name='CARS_ATTRIBUTES', |
| 15 | caslib='casuser', |
| 16 | task='UPDATE', |
| 17 | attributes={{key='Source', value='Validated Internal Data Feed'}}; |
| 18 | |
| 19 | /* Étape 3: Supprimer un attribut de colonne */ |
| 20 | TABLE.attribute / |
| 21 | name='CARS_ATTRIBUTES', |
| 22 | caslib='casuser', |
| 23 | task='DROP', |
| 24 | attributes={{key='Description', column='MPG_City'}}; |
| 25 | RUN; |
| 26 | QUIT; |
Après avoir ajouté des attributs, cette action permet de les exporter et de les visualiser. L'exemple ajoute deux attributs puis utilise la tâche 'EXPORT' pour afficher les attributs existants pour la table `CARS_ATTRIBUTES`.
| 1 | PROC CAS; |
| 2 | TABLE.attribute / |
| 3 | name='CARS_ATTRIBUTES', |
| 4 | caslib='casuser', |
| 5 | task='ADD', |
| 6 | attributes=[ |
| 7 | {key='Owner', value='Data Science Team'}, |
| 8 | {key='Confidentiality', value='Internal'} |
| 9 | ]; |
| 10 | |
| 11 | TABLE.attribute / |
| 12 | name='CARS_ATTRIBUTES', |
| 13 | caslib='casuser', |
| 14 | task='EXPORT'; |
| 15 | RUN; |
| 16 | QUIT; |