Publié le :
Gestion des données CREATION_INTERNE

Formats permanents fournis par SAS

Ce code est également disponible en : Deutsch English Español
En attente de validation
En plus des formats définis par l'utilisateur, SAS© offre une variété de formats prédéfinis qui peuvent être appliqués aux données dans l'environnement SAS© Cloud Analytic Services (CAS). Ces formats permettent de contrôler la manière dont les valeurs de données sont lues, stockées ou affichées, améliorant ainsi la lisibilité et l'interprétation des résultats. La compatibilité avec CAS garantit que ces formats peuvent être utilisés avec des tables en mémoire distribuée, facilitant l'analyse et le reporting sur de grands ensembles de données.
Analyse des données

Type : CREATION_INTERNE


Les exemples utilisent des données générées (datalines) pour assurer leur autonomie et leur reproductibilité.

1 Bloc de code
DATA STEP Data
Explication :
Cet exemple simple crée une table SAS 'commandes' et applique le format DATE9. à la variable 'Date_Commande' pour afficher les dates au format JJMMMAAAA. Les données sont créées directement dans le DATA step pour la reproductibilité.
Copié !
1DATA work.commandes;
2 INPUT ID_Commande Date_Commande:MMDDYY10. Montant;
3 FORMAT Date_Commande DATE9.;
4 DATALINES;
5 101 01/15/2023 150.75
6 102 02/20/2023 200.00
7 103 03/10/2023 50.25
8 104 04/05/2023 300.50
9 ;
10RUN;
11 
12PROC PRINT DATA=work.commandes; TITLE 'Commandes avec format de date basique'; RUN;
2 Bloc de code
DATA STEP / PROC PRINT Data
Explication :
Ce second exemple illustre l'utilisation des formats monétaires (DOLLARx.y) et de séparation des milliers (COMMAx.) pour améliorer la présentation des données financières et des quantités. Il calcule également un 'Prix_Total' dans un DATA step.
Copié !
1DATA work.produits;
2 INPUT Code_Produit $ Prix_Unitaire Quantite;
3 Prix_Total = Prix_Unitaire * Quantite;
4 FORMAT Prix_Unitaire DOLLAR8.2 Prix_Total DOLLAR10.2 Quantite COMMA8.;
5 DATALINES;
6 A101 12.99 1000
7 B202 5.50 2500
8 C303 25.00 500
9 D404 1.25 10000
10 ;
11RUN;
12 
13PROC PRINT DATA=work.produits; TITLE 'Produits avec formats monétaires et décimaux'; RUN;
3 Bloc de code
DATA STEP / PROC FORMAT / PROC CAS Data
Explication :
Cet exemple combine la création d'un format défini par l'utilisateur (STATFMT.) avec l'utilisation de SAS Cloud Analytic Services (CAS). Il charge d'abord des données de clients dans une table CAS, puis applique le format personnalisé à la variable 'Statut_Anciennete'. Une nouvelle variable 'Cat_CA' est créée en fonction du chiffre d'affaires, démontrant une logique conditionnelle et l'application d'un autre format. La table formatée est promue en CAS, rendant les formats disponibles pour les analyses distribuées.
Copié !
1LIBNAME mycas CAS; /* Assurez-vous d'avoir une session CAS active */
2 
3DATA work.clients_temp;
4 INPUT ID_Client $ Statut_Anciennete $ Chiffre_Affaires;
5 DATALINES;
6 C001 Gold 15000
7 C002 Silver 5000
8 C003 Bronze 1000
9 C004 Gold 25000
10 C005 Silver 7500
11 ;
12RUN;
13 
14/* Charger la table dans CAS */
15PROC CASUTIL SESSREF=mycas;
16 LOAD DATA=work.clients_temp OUTFATABLE=mycas.clients_cas REPLACE;
17RUN;
18 
19/* Définir un format personnalisé */
20PROC FORMAT;
21 VALUE $STATFMT
22 'Gold'='Client Premium'
23 'Silver'='Client Fidèle'
24 'Bronze'='Nouveau Client'
25 OTHER = 'Non classifié';
26RUN;
27 
28DATA mycas.clients_formated_cas(promote=yes); /* Créer une nouvelle table CAS avec le format appliqué */
29 SET mycas.clients_cas;
30 FORMAT Statut_Anciennete $STATFMT.;
31 IF Chiffre_Affaires >= 10000 THEN Cat_CA = 'Élevé';
32 ELSE IF Chiffre_Affaires >= 5000 THEN Cat_CA = 'Moyen';
33 ELSE Cat_CA = 'Faible';
34 FORMAT Cat_CA $10.;
35RUN;
36 
37PROC CAS SESSREF=mycas;
38 TABLE.FETCH / TABLE={NAME='clients_formated_cas'};
39RUN;
4 Bloc de code
DATA STEP / PROC CAS Data
Explication :
Cet exemple met en évidence l'intégration des formats dans un workflow Viya/CAS pour des données numériques. Il utilise des formats complexes comme DATEAMPMx. et COMMAXx.y pour la visualisation. De plus, il simule une opération de calcul gourmande en ressources ('Valeur_Calculee') qui bénéficierait de la puissance de calcul distribuée de CAS, et applique un format monétaire EUROx.y au résultat. La table est ensuite promue et les contenus sont affichés via une action CAS, confirmant l'application des formats en environnement distribué.
Copié !
1LIBNAME mycas CAS; /* Assurez-vous d'avoir une session CAS active */
2 
3DATA work.performances_temp;
4 INPUT Identifiant Date_Mesure:DATE9. Valeur_Brute;
5 DATALINES;
6 S1 01JAN2023 1234567.89
7 S2 15MAR2023 98765.432
8 S3 01JUN2023 123.456
9 S4 20SEP2023 12345.6789
10 ;
11RUN;
12 
13/* Charger la table dans CAS */
14PROC CASUTIL SESSREF=mycas;
15 LOAD DATA=work.performances_temp OUTFATABLE=mycas.performances_cas REPLACE;
16RUN;
17 
18/* Appliquer des formats complexes pour l'affichage dans CAS */
19DATA mycas.performances_formated_cas(promote=yes);
20 SET mycas.performances_cas;
21 FORMAT Date_Mesure DATEAMPM19. Valeur_Brute COMMAX12.4;
22 /* Simulation d'une opération complexe pouvant bénéficier de CAS */
23 Valeur_Calculee = Valeur_Brute * 1.05 / 0.95;
24 FORMAT Valeur_Calculee EURO12.2;
25RUN;
26 
27PROC CAS SESSREF=mycas;
28 TABLE.CONTENTS / TABLE={NAME='performances_formated_cas'};
29 TABLE.FETCH / TABLE={NAME='performances_formated_cas'};
30RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
Informations de Copyright : Copyright © SAS Institute Inc. All Rights Reserved.


Documentation liée : Gestion des données

Sujet / Mot-cléLien vers la ressource
DOC Définitions pour les fichiers externes fr/sampleCode/DEFINIA946
DOC Exemples : Afficher les informations sur une bibliothèque SAS fr/sampleCode/EXEMPL2677