table

promote

##set_table ##data_management

Description

L'action 'promote' permet de promouvoir une table dont la portée est initialement limitée à la sessionInstance de connexion active entre un client et le serveur CAS (Cloud Analytic Services), isolant les ressources, les bibliothèques et les traitements d'un utilisateur au sein de SAS Viya. en cours vers une portée globale. Une table globale devient ainsi persistante en mémoireGemini said

Espace de stockage temporaire (RAM) utilisé par le moteur CAS pour charger et traiter les données à haute vitesse, minimisant les accès disque pour optimiser les performances de SAS Viya.
et accessible par d'autres sessions et utilisateurs, un peu comme si elle passait du statut de brouillon secret à celui de star internationale ! Pour plus de détails, consultez la section .

Syntaxe Officielle
proc cas;
table.promote /
caslib="chaîne",
drop=VRAI | FAUX,
name="nom-de-la-table",
quiet=VRAI | FAUX,
target="chaîne",
targetLib="chaîne";
quit;

Paramètres Clés

Nom du paramètre Description
name (Requis) Spécifie le nom de la table source en mémoire à promouvoir. C'est l'invité d'honneur de notre action.
caslib Spécifie la caslib de la table source (alias: sourceCaslib). Optionnel si la table se trouve dans la caslib active.
drop Si VRAI (valeur par défaut), la table de portée session est supprimée (drop) après avoir été promue avec succès en globale. Rien ne se perd, tout se transforme !
quiet Si VRAI, l'action s'exécute silencieusement et supprime les messages d'erreur si la table n'existe pas ou si la promotion est déjà faite (alias: silent, par défaut: FAUX). Parfait pour les scripts ré-exécutables.
target Spécifie un nouveau nom optionnel pour la table globale cible. Si non renseigné, le nom d'origine de la table est conservé.
targetLib Spécifie la caslib de destination pour la table globale (alias: targetCaslib). Si non précisé, la caslib active est utilisée.

Préparation des données

Création d'une table de test en session

Avant de pouvoir promouvoir une table, il faut d'abord la créer dans notre session courante. Nous allons charger la fameuse table sashelp.cars en mémoire CAS.

1cas monSessionCas;
2LIBNAME mycas cas;
3DATA mycas.ma_table_test;
4 SET sashelp.cars;
5RUN;

Exemples d'utilisation

Promotion basique d'une table

Nous allons promouvoir 'ma_table_test' pour qu'elle devienne globale dans la caslib active. Par défaut (drop=true), la version exclusive à la session sera supprimée une fois promue.

1PROC CAS;
2 TABLE.promote / name="ma_table_test";
3QUIT;
Résultat Attendu :
La table 'ma_table_test' est désormais en portée globale et accessible par toutes les autres sessions CAS autorisées.
Promotion avec renommage, cible spécifique et conservation de la source

Ici, on promeut la table vers une caslib spécifique (ex: 'Public') avec un nouveau nom, tout en gardant notre précieuse table de session intacte (drop=false) et de manière silencieuse (quiet=true) pour éviter une erreur si elle a déjà été promue.

1PROC CAS;
2 TABLE.promote /
3 name="ma_table_test",
4 target="cars_global",
5 targetLib="Public",
6 drop=false,
7 quiet=true;
8QUIT;
Résultat Attendu :
La table est copiée et promue sous le nom 'cars_global' dans la caslib 'Public'. La table 'ma_table_test' d'origine existe toujours de façon indépendante dans la portée de la session courante.