I wie unten eine Tabelle haben:Substring Funktion Ausgabe
PROC_TP
112
5255
5255
5255
112
5255
5255
Die PROC_TP ist numerisch mit Format 6. und ich möchte nur die erste Stelle bekommen, so habe ich es in den Charakter mit der Put-Funktion als:
char_PROC_TP=put(PROC_TP,6.);
format char_PROC_TP $6.;
Dann sieht die Tabelle wie folgt aus:
PROC_TP Char_PROC_TP
112 112
5255 5255
5255 5255
5255 5255
112 112
5255 5255
5255 5255
Nun ist die char_PROC_TP ist Charakter mit Format von 6 $. Dann habe ich die Funktion substr als:
first_digit=substr(char_PROC_TP,1,1);
Dann bekomme ich keinen Wert. Also, kann mir jemand sagen, was das Problem mit ihm und seiner Lösung sein könnte. Jede Hilfe wird geschätzt.
kühlen. Link scheint die Funktionsseite CATX() anstelle von SUBSTRN() aufzurufen. Hier ist relevanter Text von der Manpage: Wenn string numerisch ist, wird er in einen Zeichenwert konvertiert, der BEST32 verwendet. Format. Führende und nachfolgende Leerzeichen werden entfernt und keine Nachricht an das SAS-Protokoll gesendet. – Tom
Link sollte behoben sein. – Joe