Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:create:random_questionnaire [25.03.2021 20:27] – [Zufallsauswahl für Fragebögen] sophia.schauerde:create:random_questionnaire [22.06.2024 09:46] (aktuell) admin
Zeile 14: Zeile 14:
 Zunächst legen Sie unter **Fragebogen zusammenstellen** -> **Neuen Fragebogen erstellen** einen zusätzlichen Fragebogen  an, welcher sich um die zufällige Verteilung kümmert. Die Kennung können Sie frei wählen, für die folgende Beschreibung verwenden wir die Kennung "random". Zunächst legen Sie unter **Fragebogen zusammenstellen** -> **Neuen Fragebogen erstellen** einen zusätzlichen Fragebogen  an, welcher sich um die zufällige Verteilung kümmert. Die Kennung können Sie frei wählen, für die folgende Beschreibung verwenden wir die Kennung "random".
  
-Legen Sie diesen Fragebogen unter **Fragebogen zusammenstellen** -> **Fragebögen verwalten** als Standard-Fragebogen fest.+Legen Sie diesen Fragebogen "random" unter **Fragebogen zusammenstellen** -> **Fragebögen verwalten** als Standard-Fragebogen fest.
  
 {{:de:create:scr.random-questionnaire.questionnaires.png|Fragebögen für die Zufallsauswahl}} {{:de:create:scr.random-questionnaire.questionnaires.png|Fragebögen für die Zufallsauswahl}}
Zeile 68: Zeile 68:
 Sobald ''[[:de:create:functions:gotoquestionnaire]]'' zum Einsatz kommt, wird ein neuer Fall im Datensatz erzeugt. In diesem (neuen) Interview hat man keinen Zugriff mehr auf die Daten, die im ursprünglichen Fragebogen (hier z.B. "random") erhoben wurden. Das gilt auch für einen Teilnahmecode, der eventuell via URL vom Panel-Anbieter übergeben wurde. Sobald ''[[:de:create:functions:gotoquestionnaire]]'' zum Einsatz kommt, wird ein neuer Fall im Datensatz erzeugt. In diesem (neuen) Interview hat man keinen Zugriff mehr auf die Daten, die im ursprünglichen Fragebogen (hier z.B. "random") erhoben wurden. Das gilt auch für einen Teilnahmecode, der eventuell via URL vom Panel-Anbieter übergeben wurde.
  
-Damit es dennoch funktioniert, muss man den Teilnahmecode explizit an das untergeordnete Interview durchreichen. Dafür kommt die Funktion ''[[:de:create:functions:multileveldown]]'' zum Einsatz. Wenn der Teilnahmecode als Referenz (REF) übergeben wurde, würde das aussehen wie folgt.+Damit es dennoch funktioniert, muss man den Teilnahmecode explizit an das untergeordnete Interview durchreichen. Dafür kommt die Funktion ''[[:de:create:functions:multileveldown]]'' zum Einsatz. Wenn der Teilnahmecode als Referenz (REF) übergeben wurde, würden Sie die Zeilen  (soben) 
 + 
 +<code php> 
 +$qnr = value('RF01', 'label'); 
 +goToQuestionnaire($qnr); 
 +</code> 
 + 
 +__ersetzen__ durch
  
 <code php> <code php>
Zeile 75: Zeile 82:
 </code> </code>
  
-Im untergeordneten Fragebogen kann man dann mittels ''[[:de:create:functions:multileveldata]]'' auf den übergebenen Code zugreifen. Im Redirect würde dann nicht mehr direkt die Referenz verwendet ...+Im untergeordneten Fragebogen kann man dann mittels ''[[:de:create:functions:multileveldata]]'' auf den übergebenen Code zugreifen. Im Redirect auf der vorletzen Seite des Fragebogens würde dann __nicht mehr__ direkt die Referenz verwendet ...
  
 <code php> <code php>
Zeile 83: Zeile 90:
 </code> </code>
  
-... sondern die Daten, die von ''multiLevelDown()'' übergeben wurde, also+... sondern stattdessen die Daten, die von ''multiLevelDown()'' übergeben wurde, also
  
 <code php> <code php>
 redirect('https://www.panelanbieter.de/complete?xyz=ABCDEF&uid='.multiLevelData()); redirect('https://www.panelanbieter.de/complete?xyz=ABCDEF&uid='.multiLevelData());
 +</code>
 +
 +
 +==== Mehrere Variablen übergeben ====
 +
 +Fall neben der Panel-ID noch weitere Variablen übergeben werden sollen, können diese gemeinsam als [[:de:create:array|Array]] in ''multiLevelDown()'' an den nachgelagerten Fragebogen übergeben werden.
 +
 +Der nachfolgende Code verwendet String-Schlüssel für die Variablen (''%%'panelID'%%'', ''%%'userID'%%'' u.s.w.) -- das dient vor allem der besseren Verständlichkeit.
 +
 +<code php>
 +// Zufallsauswahl für einen Fragebogen
 +$qnr = value('RF01', 'label');
 +// Daten zusammenfassen
 +$data = [
 +    'panelID' => reference(),
 +    'userID'  => value('RV01x01'),
 +    'AB01_01' => value('AB01_01'),
 +    'AB01_02' => value('AB01_02')
 +];
 +// Daten übergeben
 +multiLevelDown($qnr, $data);
 +</code>
 +
 +Um untergeordneten Fragebogen können die Daten wieder auf einzelne Variablen verteilt werden.
 +
 +<code php>
 +$data = multiLevelData();
 +put('IV01_01', $data['panelID']);
 +put('IV01_02', $data['userID']);
 +// Die Filtervariablen werden hier direkt in die Filterfragen gespeichert
 +put('AB01_01', $data['AB01_01'], true);
 +put('AB01_02', $data['AB01_02'], true);
 +</code>
 +
 +Die Weiterleitung kann auf die in ''%%'IV01_01'%%'' abgelegte Panel-ID zugreifen.
 +
 +<code php>
 +redirect('https://www.panelanbieter.de/complete?xyz=ABCDEF&uid='.value('IV01_01'));
 </code> </code>
de/create/random_questionnaire.1616700431.txt.gz · Zuletzt geändert: 25.03.2021 20:27 von sophia.schauer
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki