0 votes
in SoSci Survey (dt.) by s047286 (325 points)
closed by s047286

Hallo,

ich würde gerne wissen, wie ich ein hier beschriebenes Vorgehen: Items aus mehreren Fragen über mehrere Seiten mischen, so erweitern kann, dass die Items immer einem bestimmtem Muster entsprechen. Das sähe dann beispielhaft so aus: Ich habe drei Fragen A B C. Ich möchte dass die Items der Fragen seperat gemischt werden, sprich Items von A untereinander, Items von B untereinander und Items von C untereinander und diese dann hinterher gemeinsam nach dem Muster ABC angezeigt werden.
Im Fragebogen sollte das dann wie folgt aussehen:

Bitte beantworten Sie folgende Items:

Zufälliges Item Frage A
Zufälliges Item Frage B
Zufälliges Item Frage C
Zufällíges Item Frage A
Zufälliges Item Frage B
...

Dabei sollen keine Dopplungen von Items auftreten und das Ganze am besten auf zwei Seiten verteilt.

Das praktische ist, dass jede Frage 11 Items enthält, sprich 33 insgesamt.

Über Hilfe in dieser Frage würde ich mich sehr freuen.

Liebe Grüße

Sebastian Brand

closed with the note: Solved

1 Answer

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

Was wir entsprechend der von Ihnen verlinkten Anleitung benötigen ist ein Array, das als Elemente jeweils Arrays mit einer Frage-Kennung und einer Item-Kennung beinhaltet:

array(
  array($frage, $itemID)
)

Um die von Ihnen gewünschte Abdolge zu erhalten, arbeiten wir mit 2 getrennten Item-Listen, eine pro Frage. Diese werden zunächst gemischt. Im nächsten Schritt wird dann ein Array wie oben beschrieben aufgebaut. Der Einfachheit halber nehme ich einmal an, dass Ihre 3 Fragen AB01, AB02 und AB03 heißen.

if (!isset($items)) {
  // Listen der Items aller drei Fragen erstellen
  $itemsA = getItems('AB01', 'all');
  $itemsB = getItems('AB02', 'all');
  $itemsC = getItems('AB03', 'all');
  // Jede Liste mischen
  shuffle($itemsA);
  shuffle($itemsB);
  shuffle($itemsC);
  // Gesamt-Item-Liste erstellen
  // (dafür müssen in allen Fragen gleich viele Items vorliegen)
  $items = array();
  for ($i=0; $i<count($itemsA); $i++) {
    $items[] = array('AB01', $itemsA[$i]);
    $items[] = array('AB02', $itemsB[$i]);
    $items[] = array('AB03', $itemsC[$i]);
  }
  registerVariable($items);
}
// Anschließend die Anzeige erledigen

Wie Sie die Items dann (ggf. auch auf mehrere Seiten verteilt) anzeigen, ist in der anderen Frage erklärt.

Von der Gestaltung her könnte es übrigens in einigen Settings ansprechender sein, wenn Sie alle Items in eine Frage verpacken und dann nur die Items mischen - was auch nach dem beschriebenen Muster möglich wäre.

by s047286 (325 points)
Danke! So tut der Befehl schonmal das was er soll, allerdings tritt nun das Problem auf, dass Fragen auf der nächsten Seite bereits ausgefüllt nochmal angezeigt werden - woran könnte dass liegen?
by s047286 (325 points)
Aaaah war zu voreilig, habe den Fehler gefunden. Danke!

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

...