Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

0 votes

Kann man denn auf SoSci eine offene Frage stellen, aber die Antwort so speichern, dass sie nicht einsehbar ist? Z. B. wenn ich im Fragebogen nach dem Namen des Probanden frage und den Namen dann als Platzhalter für spätere Items benutzen möchte. Jedoch soll die Befragung anonym verlaufen und dann will ich nicht, dass die Antwort auf die offene Frage in den Daten gespeichert wird.
Mit der Funktion "Getrennte Erhebung von Kontaktdaten" bleiben die Kontaktdaten ja komplett isoliert von der restlichen Erhebung.
Bin noch nicht so vertraut mit SoSci, deswegen habe ich noch nicht so den Durchblick, was geht und was nicht geht :D

in SoSci Survey (dt.) by s083020 (120 points)

1 Answer

0 votes

Sie können den Wert erst mit replace() in einen Platzhalter speichern und anschließend mittels dropValue() (noch nicht in der Anleitung dokumentiert) die Angabe aus der Variable löschen. Dann bleibt der Name bis zum Erreichen der letzten Seite im Interview als Platzhalter verfügbar (gespeichert), taucht aber nicht im Datensatz auf. Mit Abschluss der Interviews (Erreichen der letzten Seite) wird der Name dann gelöscht.

was geht und was nicht geht :D

Nun ... aufgrund der Möglichkeit, dass man PHP-Code im Fragebogen verwenden kann, geht so ziemich alles. Die Frage ist nur, wie aufwändig es ist :)

by SoSci Survey (228k points)
Kann ich hierzu den dropValue-Befehl direkt im Anschluss an den replace-Befehl in dasselbe PHP-Element einsetzen? Also z.B.

replace('%name%', 'SB01_01', 'response');
dropValue('SB01_01');

Oder muss dropValue an bestimmter anderer Stelle eingesetzt werden?

Vielen Dank!
Bei dieser Konstellation müssen Sie nur aufpassen, wenn die Seite erneut geladen wird. Zum Beispiel, weil der Teilnehmer die Taste F5 drückt. Ich würde empfehlen, das zu prüfen:

if (getRoute() == 'next') {
  replace('%name%', 'SB01_01', 'response');
  dropValue('SB01_01');
}
...