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

Vom Grundsatz her möchte ich das machen, was hier https://www.soscisurvey.de/help/doku.php/de:create:filter-items beschrieben wird, allerdings nutze ich den Fragetyp Mehrfachauswahl-Matrix.


Wenn «aufmerksam geworden» oder «genutzt, um näher zu informieren» angekreuzt wurden, soll der jeweilige Touchpoint in den folgenden Fragen weiter bewertet werden.

Ich habe verschiedene Varianten der auf oben genannter, vorgeschlagenen Wege ausprobiert, bin aber (sicher auch aufgrund meiner nicht vorhandenen PHP-Erfahrung) zu keiner funktionstüchtigen Lösung gekommen.
Wie müsste der Code aussehen? Besten Dank für die Hilfe!

in SoSci Survey (dt.) by s136531 (110 points)

1 Answer

0 votes

Wenn «aufmerksam geworden» oder «genutzt, um näher zu informieren» angekreuzt wurden, soll der jeweilige Touchpoint in den folgenden Fragen weiter bewertet werden.

In der Tat ist das nicht so ganz einfach zu lösen, weil getItems() in der Mehrfachauswahl-Matrix nicht sinnvoll filtern kann.

Mit folgendem PHP-Code können Sie alle Items durchgehen und prüfen, ob eines der genannten Felder angekreuzt wurde:

$selected = [];
foreach (getItems('T002', 'all') as $item) {
  $itemID = sprintf('T002_%02d', $item);
  if ((value($itemID.'_1') == 2) || (value($itemID.'_2') == 2)) {
    $selected[] = $item;
  }
}

Die Varable $selected können Sie dann im question()-Befehl für die Folgefrage verwenden.

by SoSci Survey (117k points)
edited by SoSci Survey
Besten Dank für den Code.
Leider funktioniert das so nicht, weil dann die "Antwortoption-null-Variablen" auch zusätzlich ein _1 oder _2 angefügt bekommen und diese Bezeichnung ja nicht existiert.

Eine beispielhafte Fehlermeldung lautet
"Die Variable T002_04_CN_1 gibt es in diesem Projekt nicht (siehe Variablen-Übersicht). Daher kann kein Antwort-Wert dafür ermittelt werden."

Wie lässt sich das lösen / umgehen?
Besten Dank für die Hilfe.
Ich habe die Antwort oben gerade angepasst. Bitte ersetzen Sie das id() durch ein sprintf() wie oben angegeben. Danke.
...