Ich habe das Problem, Zuordnungszahlen im Zahlenformat zu erhalten (1 bis 6-stellig), die ich aber später im Textformat mit vorangestellten 0 benötige (123456 => 123456, 123 => 000123 etc.). Hier habe ich für meine (umständliche) Lösung (zumindest, wenn die Zeilenangabe korrekt ist) die obige Fehlermeldung erhalten. Wenn ich meine Berechnung weg lasse, erhalte ich auch kein ERROR mehr (SAS-Fehler).
Die gleiche Fehlermeldung tritt aber bei der Umrechnung von einzelnen Daten (Monat, Tag, Jahr) in ein Datum auf bzw. (vermutlich) bei der Verwendung des Wertes "t1.monat", den ich aus einer gejointen Tabelle ziehe, da ich die Monate in der Basistabelle nur als Text (JAN, FEB, MAR etc.) vorliegen habe. Ich habe alles Mögliche ausprobiert, um den Fehler zu vermeiden, konnte aber keine Lösung finden. Ich habe das Log ebenfalls unten angehängt (SAS-Fehler 02). Leider zeigt das LOG nicht, wo die Breite nicht stimmt und außerhalb welchen Bereichs sie ist.
Frage 1: Wie vermeide ich die Fehlermeldung?
Frage 2: Wie (bzw. mit welchem Format) kann ich Zahlen in Text mit führenden 0 umwandeln (analog Excel-Format "00000#" bzw. "=TEXT("Wert";"00000#")")?
Wenns eine Zahl ist, einfach das Format Z6. zuweisen.
Wenns ein String ist, zweimal konvertieren:
put(input(string,best.),z6.)
Hallo,
ich tippe als Ursache für den Fehler "Ungültiger Wert für Breite" auf eine falsche Verwendung vom CHAR-Format.
Das CHAR-Format muss als Character Format immer mit dem vorangestellten Dollar-Zeichen geschrieben werden, ohne Dollar davor wäre es ein numerisches Format.
Also z.B. PUT(t1.pzvertr,$CHAR5.) statt PUT(t1.pzvertr,CHAR5.).
Viele Grüße
Hans
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!