addFormat
Description
L'action sessionProp.addFormatAction CAS chargeant une bibliothèque de formats personnalisés dans la session active. Elle rend ces formats disponibles pour traiter et afficher les données en mémoire. est votre outil de choix pour ajouter des formats personnalisés à une bibliothèque de formats CAS existante. Imaginez-la comme un traducteur personnel pour vos données, capable de transformer des valeurs brutes en libellés explicites (parce que lire '1' et '2' c'est bien, mais lire 'Ventes' et 'Marketing' c'est quand même plus clair, n'est-ce pas ?). Elle permet de spécifier le type (VALUE, PICTURE, INVALUE), les plages de valeurs, et même le comportement multilingue. Source : .
Paramètres Clés
| Nom du paramètre | Description |
|---|---|
| dataType | Indique si la valeur est de type DATE, TIME ou DATETIME. |
| defaultL | Spécifie la longueur par défaut du format. La valeur par défaut est -1. |
| fill | Indique le caractère de remplissage utilisé pour un format de type PICTURE. |
| fmtLibName | Obligatoire. Spécifie le nom de la bibliothèque de formats dans laquelle ajouter le format. |
| fmtName | Obligatoire. Spécifie le nom du format à créer. Attention : un nom de format ne peut pas se terminer par un chiffre, ni utiliser le nom d'un format natif SAS. Un '$' doit préfixer les formats caractères. |
| fmtType | Indique le type de format : PICTURE, INVALUE ou VALUE. |
| fuzz | Spécifie un facteur de tolérance (fuzz factor) pour faire correspondre les valeurs numériques à une plage. La valeur par défaut est 0. |
| locale | Spécifie la locale à utiliser dans le préfixe du nom de format (pour créer un format spécifique à une langue ou région). |
| maxL | Spécifie la longueur maximale allouée pour le format, en octets. La valeur par défaut est -1. |
| minL | Spécifie la longueur minimale allouée pour le format, en octets. La valeur par défaut est -1. |
| mult | Indique le multiplicateur pour les formats PICTURE au lieu de le calculer en se basant sur les points décimaux. La valeur par défaut est 0. |
| multiLabel | Si TRUE, permet d'associer plusieurs libellés pour une même valeur interne (utile avec la procédure MEANS/SUMMARY). La valeur par défaut est FALSE. |
| noedit | Indique un libellé non-picture pour le format PICTURE. |
| notSorted | Si TRUE, les valeurs ou les plages sont stockées dans l'ordre exact où elles ont été définies plutôt que d'être triées. La valeur par défaut est FALSE. |
| prefix | Indique les caractères de préfixe pour le format PICTURE. |
| ranges | Spécifie une liste de paires 'valeur=libellé' ou 'plage=libellé'. Les plages s'écrivent sous la forme 'min-max=libellé'. Exemple: {'1-10=Low', '11-20=High'}. |
| replace | Si TRUE, remplace un format existant portant le même nom. La valeur par défaut est TRUE. |
Préparation des données
Création d'une table d'employés de test
Nous générons une petite table contenant des employés avec un code de département numérique (10, 20, 30) que nous formatterons ultérieurement.
| 1 | DATA casuser.employes; |
| 2 | INPUT id nom $ dept_code; |
| 3 | DATALINES; |
| 4 | 1 Dupont 10 |
| 5 | 2 Martin 20 |
| 6 | 3 Bernard 10 |
| 7 | 4 Thomas 30 |
| 8 | ; |
| 9 | RUN; |
Exemples d'utilisation
Ajout d'un format simple VALUE
Découvrez cet exemple pour l'action CAS addFormat, qui permet d'instancier dynamiquement un format utilisateur au sein d'une bibliothèque de formats (fmtLibName) rattachée à votre session.
| 1 | PROC CAS; |
| 2 | sessionProp.addFmtLib / fmtLibName="myfmtlib"; |
| 3 | sessionProp.addFormat / |
| 4 | fmtLibName="myfmtlib" |
| 5 | fmtName="deptfmt" |
| 6 | fmtType="VALUE" |
| 7 | ranges={"10='Ventes'", "20='Marketing'", "30='Technologie'"}; |
| 8 | QUIT; |
Résultat Attendu :
Création d'un format de plages avec l'option MultiLabel
Découvrez cet exemple pour l'action CAS addFormat qui illustre l'implémentation de la fonctionnalité MultiLabel, une capacité avancée du moteur CAS permettant d'assigner une valeur source à plusieurs catégories de sortie simultanément.
| 1 | PROC CAS; |
| 2 | sessionProp.addFmtLib / fmtLibName="myfmtlib"; |
| 3 | sessionProp.addFormat / |
| 4 | fmtLibName="myfmtlib" |
| 5 | fmtName="scoreFmt" |
| 6 | fmtType="VALUE" |
| 7 | multiLabel=TRUE |
| 8 | ranges={"0-50='Echec'", "51-100='Réussite'", "90-100='Excellence'"}; |
| 9 | QUIT; |
Résultat Attendu :