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é !
DATA work.commandes;
INPUT ID_Commande Date_Commande:MMDDYY10. Montant;
FORMAT Date_Commande DATE9.;
DATALINES;
101 01/15/2023 150.75
102 02/20/2023 200.00
103 03/10/2023 50.25
104 04/05/2023 300.50
;
RUN;
PROC PRINT DATA=work.commandes; TITLE 'Commandes avec format de date basique'; RUN;
PROC PRINTDATA=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é !
DATA work.produits;
INPUT Code_Produit $ Prix_Unitaire Quantite;
Prix_Total = Prix_Unitaire * Quantite;
FORMAT Prix_Unitaire DOLLAR8.2 Prix_Total DOLLAR10.2 Quantite COMMA8.;
DATALINES;
A101 12.99 1000
B202 5.50 2500
C303 25.00 500
D404 1.25 10000
;
RUN;
PROC PRINT DATA=work.produits; TITLE 'Produits avec formats monétaires et décimaux'; RUN;
1
DATA 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.991000
7
B202 5.502500
8
C303 25.00500
9
D404 1.2510000
10
;
11
RUN;
12
13
PROC PRINTDATA=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é !
LIBNAME mycas CAS; /* Assurez-vous d'avoir une session CAS active */
DATA work.clients_temp;
INPUT ID_Client $ Statut_Anciennete $ Chiffre_Affaires;
DATALINES;
C001 Gold 15000
C002 Silver 5000
C003 Bronze 1000
C004 Gold 25000
C005 Silver 7500
;
RUN;
/* Charger la table dans CAS */
PROC CASUTIL SESSREF=mycas;
LOAD DATA=work.clients_temp OUTFATABLE=mycas.clients_cas REPLACE;
RUN;
/* Définir un format personnalisé */
PROC FORMAT;
VALUE $STATFMT
'Gold'='Client Premium'
'Silver'='Client Fidèle'
'Bronze'='Nouveau Client'
OTHER = 'Non classifié';
RUN;
DATA mycas.clients_formated_cas(promote=yes); /* Créer une nouvelle table CAS avec le format appliqué */
SET mycas.clients_cas;
FORMAT Statut_Anciennete $STATFMT.;
IF Chiffre_Affaires >= 10000 THEN Cat_CA = 'Élevé';
ELSE IF Chiffre_Affaires >= 5000 THEN Cat_CA = 'Moyen';
ELSE Cat_CA = 'Faible';
FORMAT Cat_CA $10.;
RUN;
PROC CAS SESSREF=mycas;
TABLE.FETCH / TABLE={NAME='clients_formated_cas'};
RUN;
1
LIBNAME mycas CAS; /* Assurez-vous d'avoir une session CAS active */
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é !
LIBNAME mycas CAS; /* Assurez-vous d'avoir une session CAS active */
DATA work.performances_temp;
INPUT Identifiant Date_Mesure:DATE9. Valeur_Brute;
DATALINES;
S1 01JAN2023 1234567.89
S2 15MAR2023 98765.432
S3 01JUN2023 123.456
S4 20SEP2023 12345.6789
;
RUN;
/* Charger la table dans CAS */
PROC CASUTIL SESSREF=mycas;
LOAD DATA=work.performances_temp OUTFATABLE=mycas.performances_cas REPLACE;
RUN;
/* Appliquer des formats complexes pour l'affichage dans CAS */
DATA mycas.performances_formated_cas(promote=yes);
SET mycas.performances_cas;
FORMAT Date_Mesure DATEAMPM19. Valeur_Brute COMMAX12.4;
/* Simulation d'une opération complexe pouvant bénéficier de CAS */
Valeur_Calculee = Valeur_Brute * 1.05 / 0.95;
FORMAT Valeur_Calculee EURO12.2;
RUN;
PROC CAS SESSREF=mycas;
TABLE.CONTENTS / TABLE={NAME='performances_formated_cas'};
TABLE.FETCH / TABLE={NAME='performances_formated_cas'};
RUN;
1
LIBNAME mycas CAS; /* Assurez-vous d'avoir une session CAS active */
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.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.