fcmpact

loadFcmpTable

##set_fcmpact

Description

L'action `loadFcmpTable` permet de charger une seule table FCMPProcédure de création de fonctions et sous-programmes personnalisés réutilisables. Elle permet d'étendre le langage SAS et de partager des logiques métier complexes entre différentes étapes DATA. (SAS Functions CompilerLe SAS Functions Compiler (FCMP) est un outil permettant de créer, compiler et stocker des fonctions et sous-routines personnalisées réutilisables dans les procédures et le DATA step de SAS Viya.) 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.
dans CAS. C'est l'étape indispensable pour pouvoir utiliser vos fonctions personnalisées dans un environnement distribué et éviter de réinventer la roue ! 🧙‍♂️ Source :

Syntaxe Officielle
proc cas;
fcmpact.loadFcmpTable /
caslib="chaîne_de_caractères"
promote=TRUE | FALSE
replace=TRUE | FALSE
table="chaîne_de_caractères";
run;
quit;

Paramètres Clés

Nom du paramètre Description
caslib Spécifie la caslib (bibliothèque CAS) à partir de laquelle charger la table.
promote Lorsqu'il est défini sur True, la table est ajoutée avec une portée globale et devient une véritable star accessible par d'autres sessions (sous réserve des contrôles d'accès) 🌟. La caslib cible doit également avoir une portée globale. Par défaut : False.
replace Spécifie s'il faut écraser sans pitié une vue ou une table existante portant le même nom. À utiliser avec précaution ! Par défaut : False.
table (Paramètre Requis) Spécifie le nom exact de la table FCMP à charger en mémoire.

Préparation des données

Création d'une table de fonctions FCMP

Avant de charger une table, il faut la créer ! Cet exemple crée une fonction personnalisée qui multiplie une valeur par deux, puis la télécharge dans la caslib 'casuser'.

1PROC FCMP outlib=work.mes_fonctions.math; function multiplier_par_deux(valeur); return (valeur * 2); endsub; RUN; PROC CASUTIL; load DATA=work.mes_fonctions casout="mes_fonctions" outcaslib="casuser" replace; QUIT;

Exemples d'utilisation

Chargement basique d'une table FCMP

Charge simplement la table contenant nos routines FCMP en mémoire pour la session active.

1PROC CAS; fcmpact.loadFcmpTable / caslib="casuser" TABLE="mes_fonctions"; RUN; QUIT;
Résultat Attendu :
La table 'mes_fonctions' est chargée en mémoire de session. Vous pouvez maintenant l'utiliser avec l'action 'addRoutines'.
Chargement global avec écrasement de l'existant

Dans ce scénario, on charge la table et on la promeut au niveau global pour que d'autres sessions puissent en bénéficier. On s'assure également d'écraser la version précédente. Un vrai comportement de patron ! 😎

1PROC CAS; fcmpact.loadFcmpTable / caslib="casuser" TABLE="mes_fonctions" promote=true replace=true; RUN; QUIT;
Résultat Attendu :
La table est chargée de manière globale et remplace silencieusement l'ancienne version. Le journal SAS confirmera la réussite de l'opération.