Seite 1 von 1

Zeichenfolgenvariable in Datum ändern

BeitragVerfasst: Do 2. Mai 2024, 12:21
von Arnostone
Hallo,
ich komme nicht weiter: In einem SPSS-Datensatz habe ich eine Variable v2 im Textformat "MM.YYYY" (also z.B. "02.2023" usw.). Bei Auswertungen sind die Inhalte allerdings nicht in Reihenfolge des Monats, da eben Text.
Ich kann zwar im Dateieditor das Format per Hand in Datum "MM.YYYY" ändern, dann ist es ok. Wie mache ich das gleiche aber per Syntax, so dass man es "durchlaufen" lassen kann?

Re: Zeichenfolgenvariable in Datum ändern

BeitragVerfasst: Do 2. Mai 2024, 13:31
von ponderstibbons
Angelehnt an https://www.ibm.com/support/pages/conve ... ormat-spss

STRING jahr (a2).
COMPUTE jahr=CHAR.SUBSTR(v2,4,4).
STRING monat (a2).
COMPUTE monat=CHAR.SUBSTR(v2,1,2).
COMPUTE jahr2 = number(jahr,F4.0).
COMPUTE monat2 = number(monat,F2.0).
COMPUTE newdate = DATE.MOYR(monat2,jahr2).
EXECUTE .
FORMATS newdate (MOYR8).

Ein Zeitformat 02.2023 statt FEB 2023 existiert in SPSS m.W. nach nicht.


HTH

PonderStibbons

Re: Zeichenfolgenvariable in Datum ändern

BeitragVerfasst: Do 2. Mai 2024, 13:32
von Arnostone
Ich mache das jetzt mit ALTER TYP xxx (MOYR). Wenn jemand eine bessere Idee hat, freue ich mich.

Re: Zeichenfolgenvariable in Datum ändern

BeitragVerfasst: Do 2. Mai 2024, 13:33
von Arnostone
ponderstibbons hat geschrieben:Angelehnt an https://www.ibm.com/support/pages/conve ... ormat-spss

STRING jahr (a2).
COMPUTE jahr=CHAR.SUBSTR(v2,4,4).
STRING monat (a2).
COMPUTE monat=CHAR.SUBSTR(v2,1,2).
COMPUTE jahr2 = number(jahr,F4.0).
COMPUTE monat2 = number(monat,F2.0).
COMPUTE newdate = DATE.MOYR(monat2,jahr2).
EXECUTE .
FORMATS newdate (MOYR8).

Ein Zeitformat 02.2023 statt FEB 2023 existiert in SPSS m.W. nach nicht.


Danke! Meine ANtwort hat sich überschnitten :-)

Re: Zeichenfolgenvariable in Datum ändern

BeitragVerfasst: Do 2. Mai 2024, 13:59
von strukturmarionette
Hi,

am einfachsten die SPSS-Datendatei per SPSS-Dialogfeld nach der bestehenden Variable sortieren lassen

Gruß
S.