Publié le :
Reporting CREATION_INTERNE

Gestion des décimales avec PROC FORMAT PICTURE

Ce code est également disponible en : Deutsch English Español
En attente de validation
Ce script illustre comment créer des formats d'image personnalisés (picture formats) pour afficher des nombres fractionnaires. Il couvre l'affichage d'un nombre spécifique de décimales, le comportement de troncation par défaut des formats picture, et comment activer l'arrondi avec l'option (round).
Analyse des données

Type : CREATION_INTERNE


Les jeux de données 'vallist' et 'x' sont générés directement dans le script via des boucles DO.

1 Bloc de code
PROC FORMAT
Explication :
Définition de trois formats personnalisés de type 'picture' pour contrôler l'affichage des nombres : entier (showval), une décimale (withdec), et deux décimales (twodec).
Copié !
1title1 '12.2.2 Working with Fractional Values';
2title2 'Showing Decimals';
3 
4PROC FORMAT;
5 picture showval
6 other = '0000';
7 picture withdec
8 other = '00.0';
9 picture twodec
10 other = '09.00';
11RUN;
2 Bloc de code
DATA STEP Data
Explication :
Création d'un jeu de données de test 'vallist' contenant des valeurs de 0 à 3 par pas de 0.25. Application des formats définis précédemment pour observer les différences d'affichage.
Copié !
1DATA vallist;
2 DO val = 0 to 3 BY .25;
3 val2 = val;
4 val3 = val;
5 val4 = val;
6 OUTPUT;
7 END;
8 FORMAT val2 showval. val3 withdec. val4 twodec.;
9RUN;
3 Bloc de code
PROC PRINT
Explication :
Affichage du contenu de la table 'vallist' pour vérifier le rendu des formats.
Copié !
1PROC PRINT DATA=vallist;
2RUN;
4 Bloc de code
PROC FORMAT
Explication :
Définition d'un format 'showdec' affichant deux décimales. Sans l'option 'round', ce format tronquera les valeurs.
Copié !
1PROC FORMAT;
2 picture showdec
3 other = '09.00';
4RUN;
5 Bloc de code
DATA STEP Data
Explication :
Création d'un jeu de données 'x' avec des valeurs fractionnaires spécifiques pour tester le comportement du format sur les décimales.
Copié !
1DATA x;
2DO x = .007,.017,.123,1.234, 12.345, 1234;
3 y=x;
4 OUTPUT;
5END;
6FORMAT y showdec. x 8.3;
7RUN;
6 Bloc de code
PROC PRINT
Explication :
Affichage pour démontrer la troncation des décimales par défaut (ex: 1.234 affiché comme 1.23).
Copié !
1PROC PRINT DATA=x;
2RUN;
7 Bloc de code
PROC FORMAT
Explication :
Définition du format 'showdecr' utilisant l'option '(round)' pour forcer l'arrondi arithmétique au lieu de la troncation.
Copié !
1PROC FORMAT;
2 picture showdecr (round)
3 other = '00009.00';
4RUN;
8 Bloc de code
DATA STEP Data
Explication :
Recréation du jeu de données 'x' et application du nouveau format avec arrondi.
Copié !
1DATA x;
2DO x = .007,.017,.123,1.234, 12.345, 1234;
3 y=x;
4 OUTPUT;
5END;
6FORMAT y showdecr.
7 x 8.3;
8RUN;
9 Bloc de code
PROC PRINT
Explication :
Affichage final montrant que les valeurs sont maintenant correctement arrondies (ex: 1.234 affiché comme 1.23, mais .007 affiché comme .01).
Copié !
1PROC PRINT DATA=x;
2RUN;
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.