Hi ponnderstibbons,
besten Dank für Deine Antwort.
ponderstibbons hat geschrieben:Unter eine Spalte die Summe dieser Spalte zu setzen widerspricht an sich der Logik des Aufbaus von SPSS-Dateien.
Es muss wohl Szenarien geben, in denen man nicht umhin kommt, den Datensatz so zu strukturieren (sonst würde es keinen Sinn machen, dass es die Funktion AGGREGATE gibt).
Im vorliegenden Datensatz sind zeilenweise Buchungen abgetragen und spaltenweise Attribute dieser Buchungen (Betragshöhe, Datum, Verwendungszweck usw.). Wenn ich den Datensatz so strukturieren würde, dass er der Logik von SPSS entspricht, d.h., dass ich die Summe die ich will durch spaltenweises aufsummieren von Variablen erhalten, müsste der Datensatz so aufgebaut sein:
-eine Zeile (die Untersuchungseinheit wäre dann nicht mehr Buchung sondern "Konto"
-alle anderen Informationen (s.o.) spaltenweise abgetragen.
Ich hätte also einen Datensatz mit einer Zeile und mit hunderten von Spalten. Damit lässt sich nicht gut arbeiten. Bei der Dateneingabe nicht und bei der Analyse auch nicht.h
Falls Du jedoch noch eine andere Idee hinsichtlich der Struktur des Datensatz hast, wäre ich aufrichtig interessiert.ponderstibbons hat geschrieben:Aber wenn es unbedingt sein muss, kannst Du bei n Fällen im Datensatz erstmal von Hand einen Fall n+1 bilden und dann mit LAG arbeiten
- Code: Alles auswählen
IF($casenum = 1) sum_var = ausgangs_var.
EXECUTE .
IF($casenum > 1) sum_var = SUM(ausgangs_var,LAG(sum_var)) .
EXECUTE .
Besten Dank für den Codeschnipsel.
Ich habe ihn soweit ausprobiert. Wie bei meiner Lösung habe ich eine neue Variable im Datensatz, jedoch stehen nicht in allen Zellen die Gesamtsumme, sondern jeweils die kummulierte Summe für die vorangegangenen Fälle. Ich habe also wie bei meiner ursprünglichen Lösung eine weitere Variable im Datensatz und die Ausgabe im Output wäre ähnlich unübersichtlich. Ich sehe auf den ersten Blick keinen Vorteil ggü. meiner ursprünglichen Lösung.
Dennoch bedanke ich mich für den LAG-Befehl, den kannte ich noch nicht. Sicher werde ich ihn hie und da gebrauchen können.