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.

 

Excel-Export: Textvariablen mit mehreren Textfeldern “|” trennen

Im Excel-Export werden Multiple-Choice-Fragen, bei denen bei mehreren Antwortvorgaben jeweils ein offenes Textfeld vorkommen, in einer einzigen Excel-Spalte exportiert. Das heisst, die von den Teilnehmenden eingegeben Texte finden sich in einer “Zelle” pro Teilnehmer(in). Damit trotzdem klar ist, zu welcher Antwortvorgabe (resp. zu welchem offenen Textfeld) die Antworten gehören, werden diese in der Reihenfolge der offenen Textfelder in eine Liste mit | getrennt dargestellt.

Beispiel:

Der vordere Teil, also “Textfeld1blabla” wurde von einem Teilnehmer also in das erste Textfeld der Multiple-Choice-Frage (hier zu Antwortitem 2 gehörend) geschrieben.  Der hintere Teil, also “weil Filiale geschlossen wurde” gehört zu Antwortitem 5.

Hätte eine Teilnehmerin oder ein Teilnehmer beide Antwortvorgaben angeklickt (Antworten 2 und 5 wie oben) aber nur ins zweite Textfeld effektiv einen Text geschrieben, würde die Antwort so aussehen:

|weil Filiale geschlossen wurde

Der Trennstrich zeigt, dass der Text auch so zur zweiten Antwort (also Antwortitem 5) gehört.

In Excel kann eine solche Variable/Spalte/Zelle nun mit der Funktion “Daten > Text in Spalten” problemlos getrennt werden. Dazu einfach wie in den folgenden Screenshots vorgehen:
Das Spaltentrennzeichen | können Sie übrigens sehr einfach auf der Tastatur schreiben. Deutsche Tastaturen einfach ALT GR und < drücken (rechts neben der linken Umstelltaste). Wenn Sie das Zeichen | nicht auf der Tastatur finden, dann ALT drücken und gleichzeitig auf dem numerischen (!) Zahlenblock 124 schreiben, dann ALT loslassen. Das Zeichen mit dem sogenannten ASCII Code 124 erscheint: |

WICHTIG: Bevor Sie die Funktion “Text in Spalten” ausführen, fügen Sie direkt anschliessend an das Feld “Textfeld 1blabla|weil Filiale geschlossen wurde” die Anzahl an Spalten dazu, die insgesamt benötigt werden. In diesem Fall, bei 2 Textfeldern, also noch eine Spalte. So haben Sie die bereits existierende Spalte (das System legt den ersten Text vor dem ersten | dort ab) und die neu angelegte Spalte (der Teil, der nach dem ersten | folgt wird dort abgelegt):

Wählen Sie nun also “Text in Spalten” an und selektieren Sie den Punkt “Getrennt” und klicken Sie auf “Weiter >”:

Selektieren Sie die Option “Andere” und geben Sie das Zeichen | (ALT+124) ein. Wählen Sie erneut “Weiter >”:

Dann noch auf “Fertig stellen”….

… und schon haben Sie die ehemals in einer Zellen notierten Punkte in zwei Zellen verteilt: