builtins

actionSetFromTable

##set_builtins

Description

L'action `actionSetFromTable` (qui fait partie de l'ensemble `builtinsEnsemble d'actions natives fournies par SAS CAS pour gérer l'infrastructure, telles que la gestion des sessions, le chargement de bibliothèques ou l'affichage de l'état du serveur.`) permet de restaurer un ensemble d'actions défini par l'utilisateur à partir d'une préalablement sauvegardée en mémoire. C'est l'équivalent d'un 'load' pour vos macros actions personnalisées. Pratique pour ne pas réinventer la roue à chaque session !

Syntaxe Officielle
builtins.actionSetFromTable <result=results> <status=rc> /
name="string",
table={
caslib="string",
computedOnDemand=TRUE | FALSE,
computedVars={{
format="string",
formattedLength=integer,
label="string",
name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
computedVarsProgram="string",
dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>},
groupBy={{
format="string",
formattedLength=integer,
label="string",
name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
groupByMode="NOSORT" | "REDISTRIBUTE",
importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters},
name="table-name",
orderBy={{
format="string",
formattedLength=integer,
label="string",
name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
singlePass=TRUE | FALSE,
vars={{
format="string",
formattedLength=integer,
label="string",
name="variable-name",
nfd=integer,
nfl=integer
}, {...}},
where="where-expression"
};

Paramètres Clés

Nom du paramètre Description
name Spécifie le nom que vous souhaitez attribuer à l'ensemble d'actions une fois restauré en mémoire.
table Spécifie les paramètres d'entrée pour la en mémoire contenant le code de l'action. L'ensemble d'actions est reconstruit à partir de son contenu.

Préparation des données

Création d'une table contenant un ensemble d'actions

Avant de pouvoir restaurer un ensemble d'actions, il faut le créer et le sauvegarder dans une table (via l'action `actionSetToTable`). Voici comment préparer le terrain :

1PROC CAS;
2 /* 1. Définition d'une action personnalisée simple */
3 BUILTINS.defineActionSet /
4 name="monActionSet"
5 actions={
6 {
7 name="direBonjour",
8 desc="Dit bonjour au monde",
9 parms={ {name="cible", type="STRING", required=TRUE} },
10 definition="print 'Bonjour ' || cible;"
11 }
12 };
13 /* 2. Sauvegarde de l'action set dans une table en mémoire */
14 BUILTINS.actionSetToTable /
15 actionSet="monActionSet",
16 TABLE={name="mes_actions_sauvegardees", replace=TRUE};
17RUN;

Exemples d'utilisation

Restauration basique d'un ensemble d'actions

Ce code restaure notre ensemble d'actions personnalisé depuis la table en mémoire que nous venons de créer, puis exécute la nouvelle action.

1PROC CAS;
2 BUILTINS.actionSetFromTable /
3 name="monActionSetRestaure",
4 TABLE={name="mes_actions_sauvegardees"};
5 /* Utilisation de l'action fraîchement restaurée ! */
6 monActionSetRestaure.direBonjour / cible="SAS Viya";
7RUN;
Résultat Attendu :
L'ensemble d'actions est chargé en mémoire sous le nom 'monActionSetRestaure', et la log affiche joyeusement le message 'Bonjour SAS Viya'.
Restauration avancée depuis une Caslib spécifique

Si votre table d'action set est stockée dans une %%caslib%% spécifique (par exemple, une bibliothèque partagée avec votre équipe), vous pouvez la pointer explicitement via le paramètre `table.caslib`.

1PROC CAS;
2 BUILTINS.actionSetFromTable /
3 name="monActionSetEquipe",
4 TABLE={
5 caslib="Public",
6 name="actions_communes"
7 };
8RUN;
Résultat Attendu :
Restauration réussie de l'ensemble d'actions à partir de la table 'actions_communes' située dans la bibliothèque partagée 'Public'.