0 votes
in SoSci Survey (dt.) by s087224 (135 points)

Mein Fragebogen enthält die gleichen Fragen zu verschiedenen Items. Ich habe mich für ein klassisches Multi-Level-Design mit loopPage() und multiLevelDown() entschieden.

Das funktioniert auch soweit: Die Unterfragebogen wird also mehrmals aufgerufen, je nach einer bestimmten Frage (Mehrfachauswahl) im Hauptfragebogen.

Zum Problem: Ich habe im Hauptfragebogen später (also nach dem ggf. mehrmaligen Aufrufen des Unterfragebogens) eine Frage, die nur angezeigt werden soll, wenn im Unterfragebogen (der pro Interview ja mehrmals angezeigt wird) bei einer bestimmten Frage eine bestimmte Antwort ausgewählt wurde. Ich muss also in irgendeinem Konstrukt speichern, wie die Antworten waren, um das dann dem Hauptfragebogen übergeben oder zumindest dort irgendwie abrufen zu können.
Sobald man das im Unterfragebogen definiert, wird es jedes Mal überschrieben bzw. neu angelegt. Ich habe verschiedene Wege probiert, aber komme immer nur an den jeweils letzten Wert der Frage (z.B. wenn die Frage 3x für jedes Item gestellt wird, weil 3 Items ausgewählt wurden).

Wie könnte ich vorgehen? Wie kann ich die Werte speichern? Ich weiß nicht mehr weiter.

1 Answer

0 votes
by SoSci Survey (327k points)
selected by s087224
 
Best answer

Sie können bei multiLevelReturn() ja einen oder mehrere Werte aus dem untergeordneten Fragebogen an den Hauptfragebogen übergeben und diese dann mittels multiLevelResponse() abrufen. Natürlich liefert der letztgenannte Befehl nur den letzten Rückgabe-Wert, aber wenn Sie diese Rückgabewerte sammeln möchten, können Sie das z.B. wie folgt tun:

// Seite vor dem Multi-Level
$collect = array();  // Hier werden die Antworten gesammelt
registerVariable($collect);

// Die Seite, die den utnergeordneten Fragebogen aufruft
$i = loopToPage('pg2', 3);
multiLevelDown('multi_sub');

// Die folgende Seite, welche die Seitenkennung pg2 trägt
$i = loopIndex();
$data = multiLevelResponse();
$collect[$i] = multiLevelResponse();

Die Variable $collectenthält dann im Anschluss alle Werte, die Seite mittels multiLevelReturn() von den einzelnen Fragebögen zurückgegeben haben. Ansehen können Sie das Ergebnis mittels debug($collect);

by s087224 (135 points)
Bei debug($i); wird immer 0 angezeigt.
by SoSci Survey (327k points)
Hat sich nun etwas daran geändert?
by s087224 (135 points)
Ja! Jetzt sehe ich, wenn ich 3 Items auswähle auch wie sich das $i verändert (0-1-2)
by s087224 (135 points)
Es scheint alles soweit zu funktionieren :) Vielen Dank für den Support!
by SoSci Survey (327k points)
Alles klar, dann war es dasselbe Problem wie in dieser (aktuellen) Frage beschrieben: https://support.soscisurvey.de/?qa=1887/filter-und-looptopage

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

...