?> addFormat - WeAreCAS
sessionProp

addFormat

Description

Ajoute un format à une bibliothèque de formats. Les formats permettent de contrôler la manière dont les valeurs des variables sont affichées. Cette action est fondamentale pour personnaliser les sorties de données, améliorer la lisibilité des rapports et préparer les données pour l'analyse.

sessionProp.addFormat <result=results> <status=rc> / dataType={"string-1" <, "string-2", ...>}, defaultL=64-bit-integer, fill={"string-1" <, "string-2", ...>}, fmtLibName="string", fmtName="string", fmtType="string", fuzz=double, locale="string", maxL=64-bit-integer, minL=64-bit-integer, mult={double-1 <, double-2>, ...}, multiLabel=TRUE | FALSE, noedit={"string-1" <, "string-2", ...>}, notSorted=TRUE | FALSE, prefix={"string-1" <, "string-2", ...>}, ranges={"string-1" <, "string-2", ...>}, replace=TRUE | FALSE;
Paramètres
ParamètreDescription
dataTypeIndique si la valeur est de type DATE, TIME ou DATETIME.
defaultLSpécifie la longueur par défaut du format.
fillIndique le caractère de remplissage pour un format de type PICTURE.
fmtLibNameSpécifie le nom de la bibliothèque de formats où le nouveau format sera ajouté.
fmtNameSpécifie le nom du format à créer. Un nom de format ne peut pas se terminer par un chiffre. Pour un format de caractère, le nom doit commencer par un '$'.
fmtTypeIndique le type de format : PICTURE, INVALUE, ou VALUE.
fuzzSpécifie un facteur de tolérance (fuzz factor) pour faire correspondre les valeurs numériques à une plage. Utile pour les données non exactes.
localeSpécifie la locale à utiliser dans le préfixe de locale du nom de format, pour créer des formats spécifiques à une langue.
maxLSpécifie une longueur maximale pour le format, en octets.
minLSpécifie une longueur minimale pour le format, en octets.
multIndique le multiplicateur pour un format de type PICTURE, au lieu de le calculer à partir des points décimaux.
multiLabelSi défini sur True, plusieurs étiquettes peuvent être spécifiées pour la même valeur interne.
noeditIndique une étiquette non-PICTURE pour un format de type PICTURE.
notSortedSi défini sur True, les valeurs ou les plages sont stockées dans l'ordre où elles sont définies, plutôt que d'être triées.
prefixIndique les caractères de préfixe pour un format de type PICTURE.
rangesSpécifie une liste de paires valeur=étiquette ou plage=étiquette. Les plages sont définies comme min-max=étiquette.
replaceSi défini sur True, un format existant portant le même nom sera remplacé par ce nouveau format.
Préparation des Données
Création d'une table de données pour les exemples

Avant de créer des formats, nous avons besoin de données. Ce bloc de code SAS crée une table en mémoire dans CAS nommée 'produits' contenant des identifiants de produits et leurs quantités. Cette table servira de base pour appliquer les formats que nous allons créer.

1DATA casuser.produits;
2 INPUT ID_Produit $ Quantite;
3 DATALINES;
4 A100 10
5 A200 25
6 B100 55
7 B200 80
8 C100 120
9 ;
10RUN;

Exemples

Cet exemple crée une bibliothèque de formats nommée 'maBiblioFmt' si elle n'existe pas, puis y ajoute un format numérique simple appelé 'NiveauStock'. Ce format catégorise les quantités en trois niveaux : 'Bas', 'Moyen' et 'Haut'.

Code SAS® / CAS
Copié !
1PROC CAS;
2 sessionprop.addFmtLib fmtLibName="maBiblioFmt";
3 sessionprop.addFormat fmtLibName="maBiblioFmt" fmtName="NiveauStock"
4 ranges={"1-50='Bas'", "51-100='Moyen'", "101-high='Haut'"};
5RUN;
Résultat :
L'action crée le format 'NiveauStock' dans la bibliothèque 'maBiblioFmt' de la session CAS active. Aucune sortie n'est affichée, mais le format est prêt à être utilisé pour formater des colonnes numériques.

Cet exemple crée un format de caractères '$CatProduit' dans la bibliothèque 'maBiblioFmt'. L'option `replace=true` assure que si un format du même nom existe, il sera écrasé. L'option `locale='fr_FR'` spécifie que ce format est destiné à la locale française, ce qui est utile pour la gestion de formats multilingues. Le format regroupe les ID de produits en catégories.

Code SAS® / CAS
Copié !
1PROC CAS;
2 sessionprop.addFormat
3 fmtLibName="maBiblioFmt"
4 fmtName="$CatProduit"
5 replace=true
6 locale='fr_FR'
7 ranges={"'A100'-'A999'='Catégorie A'", "'B100'-'B999'='Catégorie B'", "other='Autre'"};
8RUN;
Résultat :
Le format de caractères '$CatProduit' est créé ou mis à jour dans la bibliothèque 'maBiblioFmt' avec une spécificité pour la locale 'fr_FR'. Ce format peut maintenant être appliqué à des colonnes de type caractère comme 'ID_Produit' pour afficher des étiquettes plus descriptives.

FAQ

Quel est le but de l'action `addFormat` dans SAS Viya?
Quels sont les paramètres requis pour l'action `addFormat`?
À quoi sert le paramètre `dataType` dans l'action `addFormat`?
Comment spécifier les plages de valeurs pour un format avec l'action `addFormat`?
Que se passe-t-il si j'essaie d'ajouter un format qui existe déjà avec `addFormat`?
Comment créer un format spécifique à une locale avec l'action `addFormat`?
Quelle est la fonction du paramètre `fuzz` dans l'action `addFormat`?
Peut-on définir une longueur par défaut pour un format avec `addFormat`?

Scénarios associés

Cas d'usage
Scénario Standard : Segmentation Client pour une Campagne Marketing

Une équipe marketing souhaite analyser sa base de clients pour une campagne ciblée. L'objectif est de catégoriser les clients par tranche d'âge et par niveau d'activité (nombre ...

Cas d'usage
Scénario Cas Limite : Analyse de Données Cliniques avec Tolérance et Erreurs Contrôlées

Dans le cadre d'un essai clinique, des mesures physiologiques (température) sont collectées. Ces mesures peuvent avoir de légères imprécisions. De plus, les codes d'effets secon...

Cas d'usage
Scénario Complexe : Catégorisation Multi-Labels et Multi-Locales de Transactions Financières

Une banque internationale doit catégoriser des transactions pour des rapports de conformité et d'analyse. Certaines transactions peuvent appartenir à plusieurs catégories (ex: '...