Hallo liebe Experten,
hoffentlich könnt Ihr mir bei einem Problem mit der Syntax helfen: Ich habe eine Reihe von Variablenberechnungen für die Berechnung von Erinnerungswerten vor, bei denen 2 Variablen miteinander gekreuzt werden. Die eine gibt an, ob jemand sich an ein bestimmtes Motiv erinnert (1=ja, 2=nein), die andere, ob das Motiv überhaupt gezeigt wurde (1=ja, 2=nein). Es resultiert also eine neue Variable mit max. 4 Ausprägungen: 1=gezeigt und erinnert, 2=gezeigt und nicht erinnert, 3=angeblich erinnert und nicht gezeigt (Fehlnennung), 4=nicht erinnert und nicht gezeigt.
Die Logik ist also Angabe x Motiv = Neue Variable (s.u.).
Nun erhalte ich manchmal unterschiedliche Werte in den neue Variablen, je nachdem, ob ich die Syntax stückweise durchlaufen lasse oder alles markiere und dann alles auf einmal durchläuft. Die Ausgangsvariablen sind aber identisch und enthalten auch keine fehlenden Werte, sondern sind dichotom nach 1 und 2 kodiert, wie oben angegeben. Meine Syntax sieht so aus:
/*NEUE VARIABLE 1.
DO IF (ANGABE1 =1 & MOTIV1=1).
COMPUTE MOTIV_NEU1 = 1.
ELSE IF (ANGABE1 ~=1 & MOTIV1 =1).
COMPUTE MOTIV_NEU1 =2.
ELSE IF (ANGABE1 =1 & MOTIV1 ~=1).
COMPUTE MOTIV_NEU1 =3.
ELSE .
COMPUTE MOTIV_NEU1 =4.
END IF.
EXECUTE.
[Hinweis: ANGABE1 ist die Ausgangsvariable und enthält "1" für erinnert und "2" für nicht erinnert, MOTIV1 ist die Ausgangsvariable für Motiv1 gezeigt: Ja"1" bzw. Nein "2". MOTIV_NEU1 ist die zu erstellende neue Variable. Bei den foglenden Variablen entsprechend.]
/*NEUE VARIABLE 2.
DO IF (ANGABE2 =1 & MOTIV2=1).
COMPUTE MOTIV_NEU2 = 1.
ELSE IF (ANGABE2 ~=1 & MOTIV2 =1).
COMPUTE MOTIV_NEU2 =2.
ELSE IF (ANGABE2 =1 & MOTIV2 ~=1).
COMPUTE MOTIV_NEU2 =3.
ELSE .
COMPUTE MOTIV_NEU2 =4.
END IF.
EXECUTE.
/*NEUE VARIABLE 3*.
[...]
Eigentlich sollte es doch keinen Unterschied machen, ob ich das einzeln oder am Stück ablaufen lasse, oder? Die Variablen haben ja untereinander keine Verbindung, so dass nicht eine Berechnung die folgende beeinflussen dürfte. Und auch ein EXECUTE habe ich immer dahinter.
Kann mir jemand helfen?
Danke und LG,
Regina