?>Array ( [lang] => fr [id] => 105 ) Scénario Complexe : Catégorisation Multi-Labels et Multi-Locales de Transactions Financières - WeAreCAS
sessionProp addFormat

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

Scénario de test & Cas d'usage

Contexte Métier

Une banque internationale doit catégoriser des transactions pour des rapports de conformité et d'analyse. Certaines transactions peuvent appartenir à plusieurs catégories (ex: 'International' et 'Frais élevés'). De plus, les rapports doivent être générés en français et en anglais pour différentes équipes d'analystes.
Préparation des Données

Création d'une table `TRANSACTIONS_FIN` avec des codes de transaction qui nécessitent une catégorisation complexe.

Copié !
1DATA casuser.TRANSACTIONS_FIN;
2 INPUT ID_Txn $ Code_Txn;
3 DATALINES;
4TXN_A 101
5TXN_B 205
6TXN_C 302
7TXN_D 404
8;
9RUN;

Étapes de réalisation

1
Création de la bibliothèque de formats 'financeLib'.
Copié !
1PROC CAS;
2 sessionprop.addFmtLib fmtLibName="financeLib";
3RUN;
2
Ajout d'un format multi-label '$AttributsTxn' pour assigner plusieurs étiquettes à une même valeur.
Copié !
1PROC CAS;
2 sessionprop.addFormat
3 fmtLibName="financeLib"
4 fmtName="$AttributsTxn"
5 multiLabel=true
6 notSorted=true
7 ranges={"'101'='Virement'", "'101'='International'", "'205'='Prélèvement'", "'302'='Frais Bancaires'", "'302'='Domestique'"};
8RUN;
3
Ajout d'un format de description en français '$DescTxn_FR' en utilisant le paramètre `locale`.
Copié !
1PROC CAS;
2 sessionprop.addFormat
3 fmtLibName="financeLib"
4 fmtName="$DescTxn_FR"
5 locale='fr_FR'
6 replace=true
7 ranges={"'101'='Virement International'", "'205'='Prélèvement Automatique'", "'302'='Frais de Service'", "'other'='Inconnu'"};
8RUN;
4
Ajout d'un format de description en anglais '$DescTxn_EN' en utilisant le paramètre `locale`.
Copié !
1PROC CAS;
2 sessionprop.addFormat
3 fmtLibName="financeLib"
4 fmtName="$DescTxn_EN"
5 locale='en_US'
6 replace=true
7 ranges={"'101'='International Wire'", "'205'='Direct Debit'", "'302'='Service Fee'", "'other'='Unknown'"};
8RUN;
5
Application des formats pour créer une table de reporting enrichie.
Copié !
1DATA casuser.REPORTING_TXN;
2 SET casuser.TRANSACTIONS_FIN;
3 FORMAT Code_Txn $AttributsTxn.;
4 Attributs = put(Code_Txn, $AttributsTxn.);
5 Description_FR = put(Code_Txn, $DescTxn_FR.);
6 Description_EN = put(Code_Txn, $DescTxn_EN.);
7RUN;
8 
9PROC PRINT DATA=casuser.REPORTING_TXN;
10RUN;

Résultat Attendu


La table finale `REPORTING_TXN` doit contenir 3 nouvelles colonnes. La colonne 'Attributs' doit afficher plusieurs libellés pour un même code (ex: 'Virement' et 'International' pour le code 101). Les colonnes 'Description_FR' et 'Description_EN' doivent afficher les descriptions respectives dans la bonne langue, démontrant la capacité à gérer des formats multilingues et multi-labels.