Hallihallo
ich möchte einen Filter bauen, der für viele Variablen gelten soll, die ich aber nicht alle eintippen will. Also fällt ein if (var1=x) var2=y. flach. ich habe es jetzt mal mit der folgenden syntax versuchen wollen:
temp.
sel if (var1=x).
recode var2 to var3 (sysmis=y).
exe.
Aber irgendwie klappt das nicht so ganz, also sie wird zwar ausgeführt und es kommt auch keine Fehlermeldung, aber trotzdem ist der Filter nicht da.
Wie erwähnt, habe ich jetzt aber keine Lust, alle einzenln einzutippen.
Wer hat eine Idee, was ich da noch machen kann?
Viele liebe Grüße
Filter
-
- Beiträge: 43
- Registriert: 12.12.2006, 11:09
hi,
Im Daten-Editor Fenster gibt es einen Button, der eine Tabellenspalte mit einem Fragezeichen darstellt. Wenn du darauf klickst kannst du mehrere Variablen auswählen und mit "Einfügen" in das Syntax-Fenster einfügen. Das erspart die wenigstens das eintippen von den Variablennamen...
Ansonsten verstehe ich leider nicht genau, was du vorhast... Über den sel if-Befehl musst du doch trotzdem alle Variablen eintippen, oder?
Im Daten-Editor Fenster gibt es einen Button, der eine Tabellenspalte mit einem Fragezeichen darstellt. Wenn du darauf klickst kannst du mehrere Variablen auswählen und mit "Einfügen" in das Syntax-Fenster einfügen. Das erspart die wenigstens das eintippen von den Variablennamen...
Ansonsten verstehe ich leider nicht genau, was du vorhast... Über den sel if-Befehl musst du doch trotzdem alle Variablen eintippen, oder?
-
- Beiträge: 3
- Registriert: 09.01.2007, 19:11
Hi,
ich erkläre mal kurz die Situation:
Es wurden Firmen über ihre Beschäftigten befragt.
Ich habe die Variablen V1_1, V1_2 und V1_3. Diese Variablen teilen die Beschäftigen in drei Gruppen ein. An diese Frage schließen sich drei Fragenkomplexe an, die sich jeweils auf V1_1 bis V1_3 beziehen (also der Fragenkomplex für V1_1 beinhaltet die Variablen V2_1 bis V25_10, der für V1_2 V26_1 bis V50_10 usw.).
Wenn also V1_1=0 ist, dann möchte ich die Fragen des Fragenkomplexes V2_1 bis V25_10 mit einer 77777 belegen. Ich habe aber keine Lust nun alle diese Variablen einzutippen und überlege, ob es da nicht eine andere Methode gibt, in der ich in der Sytax nur einen Befehl eingeben muss.
Es geht mir ja auch nicht um den sel if -Befehl oder so, sondern udarum, ob ich das nicht über einen recode oder compute oder so was machen kann, wo man die Variablen niciht einzeln eintippen muss, sonder sie in der Form "V2_1 to V25_10" auswählen kann.
So, ich hoffe, das war jetzt nicht zu wirr.
Vlg
ich erkläre mal kurz die Situation:
Es wurden Firmen über ihre Beschäftigten befragt.
Ich habe die Variablen V1_1, V1_2 und V1_3. Diese Variablen teilen die Beschäftigen in drei Gruppen ein. An diese Frage schließen sich drei Fragenkomplexe an, die sich jeweils auf V1_1 bis V1_3 beziehen (also der Fragenkomplex für V1_1 beinhaltet die Variablen V2_1 bis V25_10, der für V1_2 V26_1 bis V50_10 usw.).
Wenn also V1_1=0 ist, dann möchte ich die Fragen des Fragenkomplexes V2_1 bis V25_10 mit einer 77777 belegen. Ich habe aber keine Lust nun alle diese Variablen einzutippen und überlege, ob es da nicht eine andere Methode gibt, in der ich in der Sytax nur einen Befehl eingeben muss.
Es geht mir ja auch nicht um den sel if -Befehl oder so, sondern udarum, ob ich das nicht über einen recode oder compute oder so was machen kann, wo man die Variablen niciht einzeln eintippen muss, sonder sie in der Form "V2_1 to V25_10" auswählen kann.
So, ich hoffe, das war jetzt nicht zu wirr.
Vlg
-
- Beiträge: 43
- Registriert: 12.12.2006, 11:09
Also, wenn ich dich jetzt richtig verstanden habe, würde ich es mit folgender Syntax versuchen:
Die DO-IF-Schleife wählt nur die Fälle mit v1_1 = 0 aus, die darin eingebundene DO REPEAT-Schleife behandelt alle angegebenen Variablen wie die temporäre Variable "#varx", das heißt, sie ändert sie in 77777.
Wenn du so eine Schleife für jede deiner drei Variablen erstellst und ich keinen Fehler in der Syntax hab, müsste es eigentlich funktionieren.....
Code: Alles auswählen
DO IF (v1_1 EQ 0).
+ DO REPEAT #varx = v2_1 TO v25_10.
+ COMPUTE #varx = 77777.
+ END REPEAT.
END IF.
Wenn du so eine Schleife für jede deiner drei Variablen erstellst und ich keinen Fehler in der Syntax hab, müsste es eigentlich funktionieren.....