SPSS – Zusatzzeilen: zwei Werte in der selben Variablen auf zwei Variablen auftrennen (Split Variable)

Im SPSS-Export werden als Ausnahme wegen der kompakten Form und der Technik der internen Speichern bei onlineumfragen.com Werte und Texte in Tabellenfragen mit Zusatzzeilen (z.B. «Andere: ____ O1  O2  O3  O4  O5») in einer Variablen gemeinsam gespeichert, und zwar in der Form:
dies ist der eingegebene Text,4

«dies ist der eingegebene Text» ist dann der Text, der von den Teilnehmenden eingegeben wurde und die «4» heisst, dass in der Skala der 4. Radiobutton ausgewählt wurde (entspricht der üblichen Codierung wie bei den oberen normalen Zeilen/Items).

Wie können bei Bedarf nun diese Zellen mit zwei Werten in zwei Zellen mit jeweils einem Wert aufgesplittet werden?

Die SPSS-Syntax dazu lautet anhand einem Beispiel für die Variable 14, die den Text «hallo,5» enthält:

STRING V14UT1splittext (A100).
IF (CHAR.INDEX(v14UT1,',') >= 1) V14UT1splittext=CHAR.SUBSTR(v14UT1,1,CHAR.INDEX(v14UT1,',')-1).
EXECUTE.
STRING V14UT1splitwert (A100).
IF (CHAR.INDEX(v14UT1,',') >= 1) V14UT1splitwert=CHAR.SUBSTR(v14UT1,CHAR.INDEX(v14UT1,',')).
EXECUTE.

Es werden dadurch zwei neue Variablen erzeugt, die Variable V14UT1splittext, die den Text enthält (im Beispiel «hallo»), und die Variable V14UT1splitwert, die den Wert enthält (hier «5»). Dies kann dann mit allen Variablen durchgeführt werden, die kombiniert gespeichert sind. Die Variablennamen müssen dann jeweils händisch abgepasst werden. Zu den Anweisungen noch im Detail:

STRING V14UT1splittext (A100).

Richtet die neue Variable V14UT1splittext als String-Variable (Texte) ein.

IF (CHAR.INDEX(v14UT1,',') >= 1) V14UT1splittext=CHAR.SUBSTR(v14UT1,1,CHAR.INDEX(v14UT1,',')-1).

Erzeugt in die neue Variable aus der bestehenden Variablen V14UT1 alles, was vor dem Komma steht.

STRING V14UT1splitwert (A100).

Richtet die neue Variable V14UT1splitwert als String-Variable (Texte) ein.

IF (CHAR.INDEX(v14UT1,',') >= 1) V14UT1splitwert=CHAR.SUBSTR(v14UT1,CHAR.INDEX(v14UT1,',')).

Erzeugt in die neue Variable aus der bestehenden Variablen V14UT1 alles, was nach dem Komma steht.

EXECUTE

…führt den Befehl jeweils aus.