Nur dritte und vierte Stelle einer Variable
Verfasst von Pennee am 18 Juli, 2009 - 09:56
Hallo liebe SASler,
ich arbeite erst seit kurzer Zeit mit SAS und habe auch sonst kaum Programmierkenntnisse -dafür aber einen recht komplexen Datansatz zu bearbeiten.
Ich benötige eine Programmierung, wo ich in einer numerischen Variable, die 9 Ziffern hat, nur die dritte und vierte Stelle herausbekomme (keine Datumsvariable).
Also aus FAN1=123456789 mach FAN2=34 (als neue Variable).
Was muss ich dem Programm sagen, damit es das tut? Und wo kann ich das "wieso muss ich ihm das in dieser Form sagen" genau nachlesen?
Vielen Dank schonmal für die Anregungen!
Pennee
»
- Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Pennee, um dein Problem
Hallo Pennee,
um dein Problem zu lösen sind 3 Schritte notwendig:
1. Die numerische in eine Character-Variable umwandeln.
2. Aus der Zeichenkette die 3. und 4. Stelle extrahieren.
3. Falls nötig: Variable wieder zu numerisch konvertieren.
FAN1=123456789;
FAN_34=put(FAN1,9.); /* Umwandeln der Variable mit Hilfe der Put-Funktion und eines Formats. */
FAN_34=substr(FAN_34,3,2); /* Extrahieren der 3. und 4. Stelle mit Hilfe der Substr-Funktion */
FAN_34_2=substr(put(FAN1,9.),3,2); /* Beide Schritte auf einmal */
FAN_34_num=input(FAN_34,2.); /* Rückkonvertierung mit der Input-Funktion */
run;
Nun, wo kann man das nachlesen? In der Dokumentation sind natürlich alle Funktionen erklärt, aber man muss schon wissen wonach man sucht. Man wird also wohl nicht umhin kommen sich durch Einsteigerliteratur zu arbeiten, die natürlich nicht sofort alle Fragen auf spezifische Probleme beantwortet.
Gruß
Simon
Hallo Simon, vielen Dank! Bei
Hallo Simon,
vielen Dank! Bei dem Problem wusste ich tatsächlich nicht, wonach ich konkret suchen sollte (Suchbegriff). Die Einsteigerliteratur, die ich habe, ist zu allgemein. Daher bin ich froh, auf dieses Forum gestoßen zu sein. :-)
Ich werds morgen direkt ausprobieren.
Pennee