sessionProp

listFmtValues

##set_sessionprop

Description

L'action listFmtValues est votre détective privé pour les formatsInstructions de présentation appliquées aux valeurs des variables pour modifier leur apparence (dates, monnaies, libellés) sans altérer la donnée stockée dans les tables SAS Viya. SAS. Elle permet d'afficher les valeurs formatées associées à un format spécifique. Très utile pour vérifier qu'un format a bien été chargé ou pour tester des valeurs précises (numériques ou caractères) sans avoir à lancer une étape DATA entière ou tout imprimer. Attention, elle ne fera pas le café, mais presque ! Vous pouvez en savoir plus dans la documentation officielle .

Syntaxe Officielle
proc cas;
sessionProp.listFmtValues /
cVals={"chaîne-1", "chaîne-2"} | nVals={nombre-1, nombre-2}
fmtLibName="nom_bibliothèque"
fmtName="nom_format" /* Requis */
locale="code_locale"
showLocale=TRUE | FALSE;
run;

Paramètres Clés

Nom du paramètre Description
cVals Affiche la valeur formatée pour une ou plusieurs valeurs de type caractère. Attention, vous devez choisir entre ce paramètre ou `nVals`, il est impossible de spécifier les deux en même temps. Et si vous utilisez ce paramètre sur un format numérique, aucun résultat ne sera renvoyé.
fmtLibName Spécifie le nom de la bibliothèque de formats (format library) dans laquelle chercher le format.
fmtName Requis. Spécifie le nom exact du format à inspecter. Astuce de pro : pour forcer une locale sans utiliser le paramètre `locale`, vous pouvez ajouter le préfixe directement ici, par exemple : 'fr_FR-$codes'.
locale Spécifie la locale (langue/région) à intégrer dans le nom du format. Si un préfixe de locale est déjà présent dans `fmtName`, ce paramètre sera sagement ignoré.
nVals Affiche la valeur formatée pour une ou plusieurs valeurs numériques. N'oubliez pas d'utiliser un point (.) comme séparateur décimal. Tout comme `cVals`, il est exclusif et ne renverra rien s'il est appliqué à un format caractère.
showLocale Indique s'il faut ajouter une colonne affichant la locale utilisée pour trouver le format dans le tableau de résultats. Par défaut, c'est FALSE.

Préparation des données

Création d'un format de test

Pour tester l'action, créons d'abord un format numérique simple (Sexe : 1=Homme, 2=Femme) en mémoire CAS afin de pouvoir l'interroger ensuite.

1PROC CAS; sessionProp.addFormat / fmtName='sexeFmt' replace=true ranges={'1="Homme"', '2="Femme"', 'other="Inconnu"'}; RUN;

Exemples d'utilisation

Test de valeurs numériques spécifiques

Vérifions comment notre format `sexeFmt` traduit certaines valeurs numériques (1, 2 et 99).

1PROC CAS; sessionProp.listFmtValues / fmtName='sexeFmt' nVals={1, 2, 99}; RUN;
Résultat Attendu :
L'action retournera un tableau avec les valeurs brutes (1, 2, 99) et leurs valeurs formatées correspondantes ('Homme', 'Femme', 'Inconnu').
Inspection avancée avec bibliothèque et locale

Cet exemple cherche un format caractère natif (par exemple `$Sexe`) dans une bibliothèque de formats précise, en testant des valeurs textuelles et en demandant l'affichage explicite de la locale.

1PROC CAS; sessionProp.listFmtValues / fmtName='$Sexe' fmtLibName='formats' cVals={'M', 'F', 'X'} locale='fr_FR' showLocale=TRUE; RUN;
Résultat Attendu :
Un tableau listera les valeurs de caractère 'M', 'F', 'X' formatées selon les règles de la locale française (si le format existe), avec une colonne supplémentaire indiquant que la locale 'fr_FR' a été utilisée.