0 votes
in SoSci Survey (dt.) by s049805 (660 points)

Im Rahmen eines Fragebogens, gibt es viele Filter, die aufeinander aufbauen.

Wie erstelle ich einen Filter richtig, der auf einer Frage aufbaut, die die Person möglicherweise gar nicht bekommen hat?

Das ist mein Filter:
if (value('BG08_04') == 2) {
question('BG65'); }
else {
goToPage('Besuche2023');
}

Es kann aber sein, dass eine Person BG08 nicht vorgelegt bekommen hat.
Diese Personen bekommen dann die Warnung:
Die Variable BG08_04 wurde im Laufe dieses Interviews auf keiner vorhergehenden Seite abgefragt. Daher kann die Funktion value() keinen Antwort-Wert ermitteln.

Das würde ich gerne vermeiden. Wie kann ich das besser programmieren?

Danke!

1 Answer

0 votes
by SoSci Survey (308k points)

Diese Personen bekommen dann die Warnung:

Das ist so nicht korrekt - den Hinweis (gelb) sehen nur Sie als Projektleitung, die Befragten nicht.

Wie kann ich das besser programmieren?

Entweder Sie wiederholen den Filter, der BG08 ausgeblendet hat, z.B.

if ((value('AB01') == 1) && (value('BG08_04') == 2)) {
    question('BG65');
}

Hier wird BG08_04 nur abgefragt, wenn der vordere Teil des Filters erfüllt ist. Statt AB01=1 müssten Sie natürlich den Filter einsetzen, der für die Anzeige von BG08 verantwortlich war.

Oder Sie erklären SoSci Survey, dass Ihnen klar ist, dass die Frage u.U. nicht beantwortet wurde. Das funktioniert mit code:ifany, konkret:

if (value('BG08_04', 'code:ifany') == 2) {
    question('BG65');
} else {
    goToPage('Besuche2023');
}

Oder Sie ignorieren die Meldung im Wissen, dass Befragte sie ohnehin nicht sehen werden.

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

...