0 votes
in SoSci Survey (dt.) by s313684 (110 points)
closed by SoSci Survey

Hi ihr,

ich habe folgendes Problem:

Ich habe drei Fragebögen (A, B und C), die ich in eine Umfrage einbetten möchte.

  1. Fragebogen A und C sind mit 22, bzw. 24 Items ziemlich lang, weshalb ich diese mit der Funktion "Rotation von Items über mehrere Seiten" auf jeweils zwei Seiten aufgeteilt habe.

  2. Zusätzlich möchte ich, dass die Reihenfolge, in der Fragebogen A, B und C angezeigt werden, rotiert wird. Dies habe ich sowohl mit der Funktion "Blöcke rotieren (Grundlagen)" als auch "Einzelne Seiten rotieren" probiert.

Mein Fragebogen ist wie folgt aufgebaut:

  • "Pretest" (Seite 3): wählt die Reihenfolge der Seiten 4-10, wobei AIntro immer vor A, BIntro vor B und CIntro vor C erscheinen soll (siehe nachfolgende Bilder).


  • "A" (Seite 5) und "C" (Seite 9): Beinhalten die Formel aus 1., die Rotation der Items über mehrere Seiten (siehe nachfolgende Bilder).


(C analog A)

Normalerweise sollte es nun 6 Möglichkeiten für die Reihenfolge der Fragebögen geben:

  • AIntro-A, BIntro-B, CIntro-C
  • AIntro-A, CIntro-C, BIntro-B
  • BIntro-B, AIntro-A, CIntro-C
  • usw.

Allerdings gibt es folgende Probleme:

  • Der Umfrage wird sofort beendet, sobald Fragebogen C beantwortet wurde.
  • In manchen Fällen erscheint zuerst B, dann A, erneut B und schlussendlich C. Die Umfrage wird beendet, sobald Fragebogen C beantwortet wurde. Da "Gleichverteilte Ziehung (Ziehen ohne Zurücklegen)" ausgewählt wurde, sollte B nicht zwei mal erscheinen.

Ich denke, dass es unter anderem daran liegt, dass der Befehl setPageOrder() nicht mit anderen Befehlen Kombiniert werden kann. Die Rotation der Items über mehrere Seiten sowie die Rotation der Blöcke oder Seiten, führen nämlich zu einer Kombination zweier Befehle.

Wäre super, wenn ihr mir sagen könntet, wo sich mein Fehler im Workflow befindet oder, ob es eine andere Möglichkeit gibt, mein Vorhaben umzusetzen.

Vielen Dank schon mal!

closed with the note: Problem gelöst
by SoSci Survey (339k points)
> Ich denke, dass es unter anderem daran liegt, dass der Befehl setPageOrder() nicht mit anderen Befehlen Kombiniert werden kann.

Korrekt - setPageOrder(), loopPage(), loopToPage() und setNextPage() definieren alle eine neue Seiteabfolge und deaktivieren dadurch eine eventuell vorher definierte Abfolge.

Die Lösung besteht darin, dass Sie gleich zu Beginn die komplette Abfolge definieren. Für ein loopPage() würden Sie die entsprechende Seite mehrfach einbinden und mit loopIndex() arbeiten, um die Wiederholung zu ermitteln.

Wie weit kommen Sie damit und wo kommen Sie noch nicht weiter?
by s313684 (110 points)
edited by s313684
Ich habe den "loopPage"-Befehl umgangen, in dem ich ihn, wie im Handbuch erklärt (https://www.soscisurvey.de/help/doku.php/de:create:rotation-items#rotation_von_items_ueber_mehrere_seiten) , durch den Php-Code ersetzt habe.

Allerdings spukt er mir nun die Teillisten auf einer Seite untereinander aus. Wie bekomme ich es hin, dass er die Teillisten auf separaten Seiten auswirft?

Danke dir!
by SoSci Survey (339k points)
> Allerdings spukt er mir nun die Teillisten auf einer Seite untereinander aus.

Wie sieht denn Ihr PHP-Code an dieser Stelle aus? Und was sagt die Debug-Information auf dieser Seite?
by s313684 (110 points)
Der sieht wie folgt aus:

// Das isset() vermeidet, dass die Rotation etwa wg. fehlenden Antworten verändert wird
if (!isset($itemsPV04)) {
 
 // Alle Items der Frage AB01 auflisten
  $itemsPV04 = getItems('PV04', 'all');

  // Liste Mischen
  shuffle($itemsPV04);

  // Die Liste in Teillisten à 11 Items teilen
  $itemsPV04 = array_chunk($itemsPV04, 11);
  
// Die Variable für andere Seiten verfügbar machen
  registerVariable($itemsPV04);
}
 

// Die Items über mehrere Seiten verteilt anzeigen

// Erste Seite
question('PV04', $itemsPV04[0]);
 
// Zweite Seite
question('PV04', $itemsPV04[1]);



Die Debug-Info:

[Information]    Interview number 202 is to be continued
[Information]    Questionnaire QFinal from project LeadBehaviour will be used
[Information]    Retention period on page 4 has been 1 seconds
[Processing]    Reading answers from page 4
[Information]    0% of the questions have been answered so far
[Information]    According to the previously set page order, page 5 [A] is shown
[Processing]    Create page 5 in questionnaire QFinal
[Content]    Create question ZF07
[Information]    The random generator ZF07 drew these codes: 1
[Content]    Create question PV04
[Content]    Create question PV04


Analog das Ganze für Seite 9 (C) mit ML01
by SoSci Survey (339k points)
Haben Sie den PHP-Code unter "// Erste Seite" und unter "// Zweite Seite" zusammen auf eine Seite geschrieben? Wenn ja, dann verteilen Sie das bitte auf zwei Seiten.
by s313684 (110 points)
Case closed - es funktioniert! Vielen Dank für die ganze Unterstützung!

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

...