sessionProp

combineFmtLibs

Description

Combine une liste de bibliothèques de formats en une seule bibliothèque de formats de destination. Cette action est utile pour consolider des formats utilisateur provenant de différentes sources ou pour créer un ensemble de formats standardisé pour une session ou un projet.

proc cas; sessionProp.combineFmtLibs / fmtLibOut="nom_bibliotheque_de_sortie", fmtLibsIn={"bibliotheque_entree_1", "bibliotheque_entree_2"}, formatNames={"nom_format_1", "nom_format_2"}, ignoreNameNotFound=FALSE ; run;
Paramètres
ParamètreDescription
fmtLibOut Spécifie le nom de la bibliothèque de formats combinée qui sera créée. Si une bibliothèque de formats portant ce nom existe déjà, elle sera écrasée. Le nom ne peut pas dépasser 63 caractères.
fmtLibsIn Spécifie la liste des bibliothèques de formats d'entrée à combiner.
formatNames Spécifie une liste optionnelle de noms de formats spécifiques à inclure dans la bibliothèque combinée. Si ce paramètre est omis, tous les formats des bibliothèques d'entrée sont inclus. Les noms de formats SAS intrinsèques sont ignorés.
ignoreNameNotFound Spécifie s'il faut ignorer les formats listés dans `formatNames` qui ne sont pas trouvés dans les bibliothèques d'entrée. La valeur par défaut est FALSE, ce qui génère une erreur si un format n'est pas trouvé.
Préparation des Données Voir la fiche de ce code dataprep
Création des bibliothèques de formats initiales

Avant de pouvoir combiner des bibliothèques de formats, nous devons d'abord en créer quelques-unes avec des formats personnalisés.

Copié !
1PROC CAS;
2/* Création de la première bibliothèque de formats */
3sessionProp.addFmtLib /
4 fmtLibName='myFmtLib1';
5 
6/* Ajout d'un format numérique à myFmtLib1 */
7sessionProp.addFormat /
8 fmtLib='myFmtLib1',
9 fmtName='RATING',
10 ranges={{start=1, END=1, label='Médiocre'},
11 {start=2, END=2, label='Bon'},
12 {start=3, END=3, label='Excellent'}};
13 
14/* Création de la deuxième bibliothèque de formats */
15sessionProp.addFmtLib /
16 fmtLibName='myFmtLib2';
17 
18/* Ajout d'un format de caractères à myFmtLib2 */
19sessionProp.addFormat /
20 fmtLib='myFmtLib2',
21 fmtName='$STATE',
22 ranges={{start='CA', END='CA', label='Californie'},
23 {start='NY', END='NY', label='New York'}};
24RUN;

Exemples

Cet exemple combine toutes les informations des bibliothèques 'myFmtLib1' et 'myFmtLib2' dans une nouvelle bibliothèque appelée 'combinedLib'.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3sessionProp.combineFmtLibs / fmtLibOut='combinedLib', fmtLibsIn={'myFmtLib1', 'myFmtLib2'};
4 
5RUN;
6 
Résultat :
Une nouvelle bibliothèque de formats nommée 'combinedLib' est créée, contenant les formats 'RATING' et '$STATE'.

Cet exemple montre comment sélectionner uniquement le format 'RATING' de 'myFmtLib1' et l'ignorer s'il n'est pas trouvé, pour le placer dans une nouvelle bibliothèque 'specificCombinedLib'.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3sessionProp.combineFmtLibs / fmtLibOut='specificCombinedLib', fmtLibsIn={'myFmtLib1', 'myFmtLib2'}, formatNames={'RATING'}, ignoreNameNotFound=TRUE;
4 
5RUN;
6 
Résultat :
Une nouvelle bibliothèque de formats nommée 'specificCombinedLib' est créée, contenant uniquement le format 'RATING'. Aucune erreur n'est générée même si d'autres formats existent dans les bibliothèques sources.

Cet exemple tente de combiner un format qui n'existe pas ('NONEXISTENTFMT'). Comme `ignoreNameNotFound` est défini sur FALSE (par défaut), l'action générera une erreur.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1 
2PROC CAS;
3sessionProp.combineFmtLibs / fmtLibOut='errorLib', fmtLibsIn={'myFmtLib1'}, formatNames={'NONEXISTENTFMT'}, ignoreNameNotFound=FALSE;
4 
5RUN;
6 
Résultat :
L'action échoue et une erreur est consignée dans le journal SAS, indiquant que le format 'NONEXISTENTFMT' n'a pas été trouvé.

FAQ

À quoi sert l'action `combineFmtLibs` ?
Quels sont les paramètres requis pour utiliser `combineFmtLibs` ?
Que se passe-t-il si la bibliothèque de formats de sortie (`fmtLibOut`) existe déjà ?
Peut-on spécifier uniquement certains formats à inclure dans la bibliothèque combinée ?
Comment l'action gère-t-elle les formats spécifiés dans `formatNames` qui ne sont pas trouvés ?

Scénarios associés

Cas d'usage
Consolidation des formats de segmentation client multirégionaux

Une banque internationale souhaite lancer une campagne marketing unifiée. Actuellement, les définitions des segments clients (Gold, Silver, Bronze) et des codes géographiques so...

Cas d'usage
Extraction sélective de formats pour optimisation de performance

Un détaillant dispose d'une bibliothèque de formats 'Legacy' massive contenant des milliers de codes produits historiques obsolètes. Pour un nouveau tableau de bord de performan...

Cas d'usage
Gestion des dépendances manquantes dans un flux ETL automatisé

Dans un processus d'intégration de données automatisé (ETL) nocturne, une action tente de consolider les formats de devises du jour. Cependant, il arrive que le flux en amont ne...