Ich bin am verzweifeln: Ich müsste 350 Variablen manuell generieren und habe mich deshalb daran versucht, ein Makro in die SPSS Syntax einzubetten, damit das Ganze automatisch berechnet wird. Leider bekomme ich das nicht hin, vielleicht kann mir jemand hier helfen?
Ausgangslage:
Ich habe drei Variablen:
AggloNr ist eine Variable mit Werten für Kategorien von 1 bis 50.
St_Typ ist eine Variable mit Werten für Kategorien von 1 bis 3.
meters ist eine Variable mit Werten für zurückgelegte Distanzen in Metern.
Ich möchte jetzt für jede Kombination aus den ersten beiden Kategorien eine eigene Variable generieren. Da es 50 Kategorien bei Variable 1 gibt und 3 bei der zweiten, würde dies 350 neue Variablen generieren.
Das Problem:
Manuell würde ich das vermutlich wie folgt berechnen:
Code: Alles auswählen
DATASET ACTIVATE segmente_agglo.
IF (Agglo00_No = 121 & st_typ = 1) a01_01=METERS.
IF (Agglo00_No = 230 & st_typ = 1) a02_01=METERS.
.
.
.
usw.Nach langer Testerei bin ich zu folgendem Ergebnis gekommen:
Makro-Code:
Code: Alles auswählen
DEFINE PW_Agglo_ST_Typ (AggloNr = !TOKENS(1) / St_Typ = !TOKENS(1) / meters = !TOKENS(1))
!DO !I !IN (!AggloNr).
!DO !J !IN (!St_Typ).
!LET !varname=!CONCAT('a',!I,'_',!J).
!IF (!AggloNr=!I & !St_Typ=!J) !THEN !LET !varname=!meters.
!IFEND.
!DOEND.
!DOEND.
!ENDDEFINE.Code: Alles auswählen
DATASET ACTIVATE segmente_agglo.
PW_Agglo_ST_Typ AggloNr = Agglooo_No St_Typ = st_typ meters = METERS.
Das Makro gibt so keinen Fehler aus, aber es geschieht auch absolut nichts. Deshalb bin ich völlig ratlos, ob ich einen Logik- / Denkfehler gemacht habe, oder aber ein technischer Fehler vorliegt.
Für Anregungen, Denkanstösse und Hilfe wäre ich überaus dankbar!
Vielen Dank und freundliche Grüsse
Jonas Bley



