Hallo zusammen,
ich habe eine Matrix mit sehr vielen Datensätzen (N>30.000), bei denen ich nur für einen Teil der Datenmatrix eine Rechenoperation durchführen möchte. Filtervariablen funktionieren aber leider (zumindest sieht es bei mir so aus) nur bei Rechenoperationen, die in einer Ausgabe dargestellt werden und nicht bei Rechenoperationen, die nur in der Datenmatrix neue Variablen erzeugen (z.B. Variable berechnen etc.)
Konkret geht es um Folgendes: Bei einem Teil der Datensätze sind nur Mittelwerte vorhanden und keine einzelnen Itemantworten.
Da die Matrix fortlaufend weiter mit Daten bestückt wird, bei denen aus den Items noch der Mittelwert neu berechnet werden muss, wird per Syntaxbefehl auch immer mal wieder der Mittelwert neu berechnet. Dies führt dann natürlich dazu, dass bei den "alten" Daten, bei denen nur Mittelwerte vorhanden waren, die Items also quasi leer sind, der Mittelwert überschrieben wird und dann leer ist. Da dachte ich mir, ok, speicher einfach die Mittelwerte nochmal separat ab (z.B. als MW_fest) und sag hinterher: Berechne mir einfach nur für die Daten, bei denen nur Mittelwerte vorhanden sind, den Mittelwert, indem der MW einfach aus den alten Daten rauskopiert wird:
USE ALL.
COMPUTE filter_$=(MW_ohne_Items = 1).
VARIABLE LABELS filter_$ 'MW_ohne_Items = 1 (FILTER)'.
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE.
COMPUTE MW_LM=MW_LM_fest.
EXECUTE.
Leider "beachtet" Spss den Filter bei Berechnungen innerhalb der Datenmatrix aber nicht und die vorhandenen Daten, die nicht über den Filter ausgewählt wurden, werden auch berücksichtigt und danach ist dort der MW leer.
Kennt jemand einen Syntaxbefehl für einen Filter, um auch bei Berechnungen/Datentransformationen, die ausschließlich innerhalb der Datenmatrix von statten gehen, nur Teildatensätze auszuwählen?
Danke im Voraus für die Hilfe,
Niba79
Variable berechnen nur für Teile der Datenmatrix
-
niba79
- Beiträge: 9
- Registriert: 11.01.2013, 12:33



