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

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.

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

1 Answer

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