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!
title1 '12.2.2 Working with Fractional Values';
title2 'Showing Decimals';
proc format;
picture showval
other = '0000';
picture withdec
other = '00.0';
picture twodec
other = '09.00';
run;
1
title1 '12.2.2 Working with Fractional Values';
2
title2 'Showing Decimals';
3
4
PROC FORMAT;
5
picture showval
6
other = '0000';
7
picture withdec
8
other = '00.0';
9
picture twodec
10
other = '09.00';
11
RUN;
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!
data vallist;
do val = 0 to 3 by .25;
val2 = val;
val3 = val;
val4 = val;
output;
end;
format val2 showval. val3 withdec. val4 twodec.;
run;
1
DATA vallist;
2
DO val = 0 to 3BY .25;
3
val2 = val;
4
val3 = val;
5
val4 = val;
6
OUTPUT;
7
END;
8
FORMAT val2 showval. val3 withdec. val4 twodec.;
9
RUN;
3 Codeblock
PROC PRINT
Erklärung : Anzeige des Inhalts der Tabelle 'vallist', um die Formatdarstellung zu überprüfen.
Kopiert!
proc print data=vallist;
run;
1
PROC PRINTDATA=vallist;
2
RUN;
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!
proc format;
picture showdec
other = '09.00';
run;
1
PROC FORMAT;
2
picture showdec
3
other = '09.00';
4
RUN;
5 Codeblock
DATA STEP Data
Erklärung : Erstellung eines Datensatzes 'x' mit spezifischen Bruchwerten, um das Verhalten des Formats bei Dezimalstellen zu testen.
Kopiert!
data x;
do x = .007,.017,.123,1.234, 12.345, 1234;
y=x;
output;
end;
format y showdec. x 8.3;
run;
1
DATA x;
2
DO x = .007,.017,.123,1.234, 12.345, 1234;
3
y=x;
4
OUTPUT;
5
END;
6
FORMAT y showdec. x 8.3;
7
RUN;
6 Codeblock
PROC PRINT
Erklärung : Anzeige zur Demonstration der standardmäßigen Dezimalstellen-Abschneidung (z.B. 1.234 wird als 1.23 angezeigt).
Kopiert!
proc print data=x;
run;
1
PROC PRINTDATA=x;
2
RUN;
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!
proc format;
picture showdecr (round)
other = '00009.00';
run;
1
PROC FORMAT;
2
picture showdecr (round)
3
other = '00009.00';
4
RUN;
8 Codeblock
DATA STEP Data
Erklärung : Neuerstellung des Datensatzes 'x' und Anwendung des neuen Formats mit Rundung.
Kopiert!
data x;
do x = .007,.017,.123,1.234, 12.345, 1234;
y=x;
output;
end;
format y showdecr.
x 8.3;
run;
1
DATA x;
2
DO x = .007,.017,.123,1.234, 12.345, 1234;
3
y=x;
4
OUTPUT;
5
END;
6
FORMAT y showdecr.
7
x 8.3;
8
RUN;
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!
proc print data=x;
run;
1
PROC PRINTDATA=x;
2
RUN;
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.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.