Veröffentlicht am :
Berichterstattung CREATION_INTERNE

Umgang mit Dezimalstellen mit PROC FORMAT PICTURE

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieses Skript veranschaulicht, wie benutzerdefinierte Bildformate (Picture Formats) erstellt werden, um Bruchzahlen anzuzeigen. Es behandelt die Anzeige einer bestimmten Anzahl von Dezimalstellen, das standardmäßige Abschneideverhalten von Bildformaten und wie die Rundung mit der Option (round) aktiviert wird.
Datenanalyse

Type : CREATION_INTERNE


Die Datensätze 'vallist' und 'x' werden direkt im Skript über DO-Schleifen generiert.

1 Codeblock
PROC FORMAT
Erklärung :
Definition von drei benutzerdefinierten 'Picture'-Formaten zur Steuerung der Anzeige von Zahlen: Ganzzahl (showval), eine Dezimalstelle (withdec) und zwei Dezimalstellen (twodec).
Kopiert!
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 Codeblock
DATA STEP Data
Erklärung :
Erstellung eines Testdatensatzes 'vallist' mit Werten von 0 bis 3 in Schritten von 0.25. Anwendung der zuvor definierten Formate, um die Anzeigedifferenzen zu beobachten.
Kopiert!
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 Codeblock
PROC PRINT
Erklärung :
Anzeige des Inhalts der Tabelle 'vallist', um die Formatdarstellung zu überprüfen.
Kopiert!
1PROC PRINT DATA=vallist;
2RUN;
4 Codeblock
PROC FORMAT
Erklärung :
Definition eines 'showdec'-Formats, das zwei Dezimalstellen anzeigt. Ohne die Option 'round' schneidet dieses Format die Werte ab.
Kopiert!
1PROC FORMAT;
2 picture showdec
3 other = '09.00';
4RUN;
5 Codeblock
DATA STEP Data
Erklärung :
Erstellung eines Datensatzes 'x' mit spezifischen Bruchwerten, um das Verhalten des Formats bei Dezimalstellen zu testen.
Kopiert!
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 Codeblock
PROC PRINT
Erklärung :
Anzeige zur Demonstration der standardmäßigen Dezimalstellen-Abschneidung (z.B. 1.234 wird als 1.23 angezeigt).
Kopiert!
1PROC PRINT DATA=x;
2RUN;
7 Codeblock
PROC FORMAT
Erklärung :
Definition des Formats 'showdecr' unter Verwendung der Option '(round)', um das arithmetische Runden anstelle des Abschneidens zu erzwingen.
Kopiert!
1PROC FORMAT;
2 picture showdecr (round)
3 other = '00009.00';
4RUN;
8 Codeblock
DATA STEP Data
Erklärung :
Neuerstellung des Datensatzes 'x' und Anwendung des neuen Formats mit Rundung.
Kopiert!
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 Codeblock
PROC PRINT
Erklärung :
Abschließende Anzeige, die zeigt, dass die Werte nun korrekt gerundet werden (z.B. 1.234 wird als 1.23 angezeigt, aber .007 als .01).
Kopiert!
1PROC PRINT DATA=x;
2RUN;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.