Hallo, ich komme bei einem proc format nicht weiter 😞 Mein Wissen dazu ist aber zugegebener Weise auch ziemlich dürftig... Meine Quelldaten kommen aus DB2 und liegen dort z.T. als DECIMAL in unterschiedlichen Längen vor. Diese will ich nun umformatieren in ein festes Format, vorgenullt und inkl. Vorzeichen, um dies in einer txt-Datei zu speichern. Beispiele: DB2-Format Quellwert Zieltext DECIMAL(4, 0) 2222 +2222 DECIMAL(4, 0) -333 -0333 DECIMAL(5, 2) -123,45 -12345 DECIMAL(7, 2) 1234,00 +0123400 Das proc format, was ich mir schon zurechtgeschustert habe funktioniert soweit, aber flexibel bin ich damit so gar nicht, denn ich muss für jedes Quellformat ein eigenes Ausgabeformat definieren. Das geht doch bestimmt besser, oder?
PROC FORMAT ;
/*DECIMAL(5, 0) als SAS-Format DEC50_6. */
PICTURE DEC50_ LOW-<0 = 99999 ( MULTIPLIER=1 PREFIX='-')
0-HIGH = 99999 ( MULTIPLIER=1 PREFIX='+')
;
/* DECIMAL(5, 0) als SAS-Format DEC40_5. */
PICTURE DEC40_ LOW-<0 = 9999 ( MULTIPLIER=1 PREFIX='-')
0-HIGH = 9999 ( MULTIPLIER=1 PREFIX='+')
;
/* DECIMAL(15, 2) als SAS-Format DEC152_16. */
PICTURE DEC152_ LOW-<0 = 999999999999999 ( MULTIPLIER=100 PREFIX='-')
0-HIGH = 999999999999999 ( MULTIPLIER=100 PREFIX='+')
;
RUN;
Als SAS-Format schwebt mir da natürlich sowar ganz einfaches wie DEC4.0 oder DEC7.2 vor, die dann genau das gewünschte Ergbnis liefern... Aber das wäre nur der Optimalfall 🙂 Vielleicht gibt es ja ein PROC-FORMAT-Könner hier 🙂 Danke! Gruß aus Hamburg Marco Schmidt P.S. Bonusfrage 🙂 Der Code reicht mir soweit, aber wer mir dann noch erklärt, wie ich das in die Anwendungsroutine "Format erstellen" im Enterprise Guide einklicken kann... 🙂
... View more