0 votes
in SoSci Survey (dt.) by s053303 (170 points)
edited by SoSci Survey

Ich habe eine ähnliche Frage, die zuvor schon einmal gestellt wurde, aber dann nicht weiter verfolgt wurden.

Ich komme mit der Anweisung (https://www.soscisurvey.de/help/doku.php/de:create:filter-items) nicht so richtig zurecht. Diese bezieht sich auf Skalen (soweit ich es verstanden habe), ich würde jedoch gerne Mehrfachantworten übernehmen, allerdings nur solche, die mit 2 (=ausgewählt) beantwortet wurden plus eine offene Texteingabe, falls diese angewählt wurde. Ich verwende diesen Code:

if (value('MU02_07') == 2)  {
  question('MU061');
} 

$auswahl = getItems('MU08', 'is', 2); 
$auswahl[] = 7;
question('MU61', $auswahl);

der mir allerdings nur "Sonstiges" als Text ausspukt. Wie kann ich zunächst überprüfen, ob hier überhaupt Antworten vorliegen (MU02_07 == 2), anschliessend die Antworten vorabprüfen und dann nur die ausgewählten Typen (aus Frage MU08_0x ==2) in die Folgefrage (MU61) übernehmen, inklusive der offenen Texteingabe (MU08_07)?

Vielen Dank!

1 Answer

0 votes
by SoSci Survey (304k points)

Eine Mehrfachauswahl können Sie einfach als Skala mit 2 Ausprägungen (nein=1, ja=2) ansehen.

In Ihrem PHP-Code haben Sie 2 Filter:

if (value('MU02_07') == 2)  {
  question('MU061');
} 

Dieser Filter zeigt die (komplette) Frage MU61 (wenn Sie die fehlerhafte 0 in MU061 entfernen), wenn das Item MU02_07 den Wert 2 hat. Falls MU02 eine Mehrfachauswahl ist also: Wenn Item 7 angekreuzt wurde.

$auswahl = getItems('MU08', 'is', 2); 
$auswahl[] = 7;
question('MU61', $auswahl);

Dieser Filter ermittelt die angekreuzten Optionen in MU08 (die hoffentlich auf einer früheren Seite auch abgefragt wurde), ergänzt auf jeden Fall die Nr. 7 (egal ob angekreuzt oder nicht) und zeigt dann Frage MU61, darin aber nur die entsprechenden Items.

by s053303 (170 points)
Vielen Dank für die schnelle Antwort.

Ich habe den Code nun umgeändert:

$auswahl = getItems('MU08', 'is', 2);
$auswahl[] = 7;

if (value('MU02_07') == 2)  {
question('MU61', $auswahl);}

Ich habe aber leider immer noch nicht den Punkt mit der offenen Antwort hinbekommen, hier wird immer noch "Sonstiges" anstelle der Offenen Antwort angezeigt. Was genau müsste hier noch dazu?
by SoSci Survey (304k points)
Sie möchten Sie Frage wirklich nur anzeigen, wenn Option 7 explizit angekreuzt wurde? Wenn nicht, dann lassen Sie das IF bitte weg.

> Ich habe aber leider immer noch nicht den Punkt mit der offenen Antwort hinbekommen, hier wird immer noch "Sonstiges" anstelle der Offenen Antwort angezeigt.

Dafür verwenden Sie Anstatt "Sonstiges" bitte einen Platzhalter wie z.B. "%AB01_01s%" und belegen diesen (vor der Frage) mit der offenen Antwort:

replace('%AB01_01s%', 'AB01_01s', 'response');

Das AB01_01s müssten Sie natürlich gegen die Variablen-Kennung der offenen Antwort austauschen.
by s053303 (170 points)
Super, herzlichen Dank! Nun klappt alles.

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

...