0 votes
in SoSci Survey (dt.) by s311978 (110 points)
edited by SoSci Survey

Hallo!

Ich jetzt eine Free Mentions Frage erstellt, wo Teilnehmer*innen mehrere Angaben zum Thema machen können (Page 2). Darauf basierend möchte ich eine Schleife erstellen um für jede Angabe Details zu erfragen (page 3). Also wenn zB zwei Angaben auf Page 2 gemacht werden, soll page 3 zwei Mal angezeigt werden und auch die Antworten zwei Mal gespeichert werden.

mit loopPage(value('PG02')); loop ich zwar durch die Seite, aber die Antworten werden nach meinem Verständnis nicht zwei Mal aufgezeichnet.

Vielen Dank schon mal für die Hilfe!

1 Answer

0 votes
by SoSci Survey (337k points)

Sie haben zwei Möglichkeiten: Entweder Sie zeigen in jedem Durchlauf eine andere Frage oder ein andere Item (je nachdem, was genau Sie abfragen) oder Sie schreiben jede Antwort in eine eigene Zeile im Datensatz.

Die folgende Anleitung erläutert das nochmal genauer und liefert konkrete Beispiele zum Umsetzung: Multi-Level Struktur

by s311978 (110 points)
Vielen Dank, das hat schon sehr weiter geholfen und schaut fast so aus, wie ich es möchte. Eine Frage hätte ich: in der Dokumentation findet sich folgende Beschreibung und Code Snippet:

Der folgende PHP-Code erstellt für jeden Namen in der Liste $namen einen untergeordneten Fall im Datensatz für den Fragebogen personenangaben und speichert den Namen jeweils in der Variable TX01_01.

foreach ($namen as $name) {
    multiLevelPrepare('personenangaben', ['TX01_01' => $name]);
}

Worauf bezieht sich die "TX01_01" Variable? Wenn ich das richtig verstehe nimmt sie die Bezeichnungen aus $namen. Ich müsste dann ja im Idealfall die einzelnen Namen nutzen können für den untergeordneten Fragebogen.

Aktuell nutze ich das obenstehende Code snippet um entsprechend der Anzahl der Antworten die richtige Anzahl von untergeordneten Fragebögen zu generieren. Im Idealfall würde auch der Antwortinhalt als Titel übernommen werden. Bzw. ich die jeweilige Bezeichung innerhalb jedes untergeordneten Fragebogens nutzen.

Vielen Dank für die Unterstützung!
by SoSci Survey (337k points)
Den Befehl multiLevelPrepare() verwenden Sie, wenn Sie mit dem Fragetyp "Multi-Level Übersicht" arbeiten. Hierbei würden die Befragten nicht nacheinander alle Namen vorgelegt bekommen, sondern können die Reihenfolge selbst aussuchen, in welcher Sie die Namen abarbeiten.

> Worauf bezieht sich die "TX01_01" Variable?

Diese Variable würden Sie vorab als interne Variablen anlegen. Die hat dann zwei Funktionen:

(a) Sie bietet quasi "Platz" in dem neuen, untergeordneten Fall, wo der Name gespeichert wird, sodass dieser dann beim Ausfüllen verfügbar ist und

(b) Sie können in der Multi-Level-Übersicht auswählen, dass diese Variable als Beschriftung für die Auswahl verwendet wird.

>  Im Idealfall würde auch der Antwortinhalt als Titel übernommen werden.

Ich bin nicht sicher, ob Sie mit "Antwortinhalt" den Namen meinen oder etwas, das die Befragten dann im untergeordneten Fragebogen eintragen. Aber für zweiteres würden Sie einfach noch eine zweite interne Variable anlegen, diese füllen und als Untertitel in der Multi-Level Übersicht auswählen.

Übrigens danke für den Hinweis, dass die Anleitung da ein wenig lückenhaft ist. Wird gleich verbessert.
by s311978 (110 points)
Danke für die schnellen Antworten, das hilft echt sehr weiter =)

Ich nutze mal das Beispiel aus der Dokumentation:
Ich habe eine Free Mentions Frage (page 2), in der Teilnehmer*innen angeben mit welchen Kolleg*innen sie zB zusammenarbeiten.
Ich erhalte die Antworten "Lisa", "Ihor", "Franka". Das speichere ich im Array $namen. (Das habe ich zuvor als "Antwortinhalt" bezeichnet.

Als nächstes möchte ich wissen, wie eng die Kooperation ist und Frage einen Mix aus Selection, Dropdown und Text input Fragen. Diese Fragen habe ich in einem untergeordneten Fragebogen im Multi-Level Listing eingebunden.

Dank dem Code Snippet aus der Dokumentation erscheint nun die Frage des Multi-level-listings (page 3) auf und ein Feld mit (entsprechend dem Beispiel) drei Eingabeoptionen, (#1, #2,#3) mit jeweils play und close Tasten.

Jetzt möchte ich aus $namen die einzelnen Werte herauslesen und statt #1, #2,#3 einfügen. Das kleine Extra Detail wäre dann noch, wenn ich in jedem untergeordneten Fragebogen die Namen z.B.: Lisa drüber stehen hätte.

Dank der Dokumentation zu internen Variablen, habe ich nun auch keine Fehlermeldung nach dem Code Snippet, weil meine Variable in ['TX01_01' => $name] entsprechend der internen Variable heißt.

Wenn ich das nun richtig verstehe muss ich irgendwie noch put() nutzen um die einzelnen Namen herauslesen und statt #1, #2,#3 einfügen. Meine (hoffentlich) letzte Frage ist, wo kommt das put() hin?

Mit lieben Grüßen
by SoSci Survey (337k points)
Tragen Sie in Ihrer "Multi-Level Übersicht" Frage doch bei "Variable für den Titel" einmal "TX01_01" ein.

Danke für Ihre Nachfrage ... dadurch bemerkte ich gerade, dass meine Ergänzungen in der Anleitung noch gar nicht online waren: https://www.soscisurvey.de/help/doku.php/de:create:functions:multilevelprepare
by s311978 (110 points)
Aja, so einfach gehts. Vielen Dank!

So hilft man sich gegenseitig =)
Vielen Dank für die Hilfe und die ganzen Anleitungen. Ich weiß die Multilevel Übersicht ist noch relativ neu als Funktion aber super praktisch.

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

...