Periode zuweisen mit verschachteltem if-Befehl

Alles rund um SPSS Syntax und Programmierung.

Periode zuweisen mit verschachteltem if-Befehl

Beitragvon lena » Di 2. Feb 2016, 20:26

Hallo,
ich möchte aus einer Datumsvariable Perioden bilden. Das soll letztendlich folgendermaßen aussehen: diejenigen, die einen Datumswert in der Variable Date_var zwischen 30.9.2015 und 30.03.2016 haben, bekommen den Wert 9 zugewiesen. Leider weiß ich nicht, wie das mit der Datumsvariable geht. Also habe ich aus der Datumsvariable zwei Hilfsvariablen extrahiert: Jahr und Kalenderwoche.
Nun möchte ich mit Hilfe dieser beiden Variablen Perioden bestimmen. Dafür, dachte ich, nutze ich den If-Befehl um zu bestimmen, dass alle, die zwischen der 41. KW des Jahres 2015 und der 14. KW des Jahres 2016 liegen, den Wert 9 bekommen:

Code: Alles auswählen
IF (jahr = 2015 & kw >= 41 | jahr = 2016 & kw <= 14) VAR=9.
IF  (jahr = 2015  & kw >= 15 | jahr = 2015 & kw <= 40) VAR=8.
IF (jahr = 2014 & kw >= 41 | jahr = 2015 & kw <= 14) VAR=7.
IF  (jahr = 2014  & kw >= 15 | jahr = 2014 & kw <= 40) VAR=6.
IF (jahr = 2013 & kw >= 40 | jahr = 2014 & kw <= 14) VAR5.
IF  (jahr = 2013  & kw >= 15 | jahr = 2013 & kw <= 39) VAR=4.
IF (jahr = 2012 & kw >= 40 | jahr = 2013 & kw <= 14) VAR=3.
IF  (jahr = 2012  & kw >= 14 | jahr = 2012 & kw <= 39) VAR=2.
Execute.


Das ist die Syntax, die ich dafür verwende. Nun habe ich festgestellt, dass das so nicht hinhaut: Irgendwie werden gerade neu zugewiesene Werte durch den folgenden Befehl überschrieben. Es ist offensichtlich nicht klar genug definiert, dass nur Werte zwischen den jeweils in einer Zeile stehenden Zeitpunkten genommen werden sollen - und nicht noch auf vorherige Werte zugegriffen werden soll.
Weiß jemand Rat, wie ich noch deutlich den Zugriff auf eine bestimmte Persiode eingrenzen kann? Ich will also im Grunde, dass gerade neu zugewiesene Werte nicht durch den folgenden Befehl überschrieben werden. Geht das vielleicht über etwas in der Art "greife nur drauf zu, wenn fehlender Wert"?
Ich freu mich über Hilfe!
Danke und Grüße,
Lena
lena
 
Beiträge: 9
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 0
Danke bekommen: 0 mal in 0 Post

Re: Periode zuweisen mit verschachteltem if-Befehl

Beitragvon ponderstibbons » Mi 3. Feb 2016, 14:39

Es ist offensichtlich nicht klar genug definiert, dass nur Werte zwischen den jeweils in einer Zeile stehenden Zeitpunkten genommen werden sollen - und nicht noch auf vorherige Werte zugegriffen werden soll.

Es ist überhaupt nicht definiert. Du könntest mit einer leeren Variable "var" beginnen und in Deine Befehle noch IF( (missing(var)) & (jahr =... ) ) einbauen, dann werden nur missing überschrieben.
ponderstibbons
 
Beiträge: 2480
Registriert: Sa 1. Okt 2011, 17:20
Danke gegeben: 1
Danke bekommen: 256 mal in 255 Posts


Zurück zu SPSS Syntax

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste