0 votes
in SoSci Survey (dt.) by s098391 (120 points)

Liebes Team,

ich möchte in meinem Fragebogen 4 Konstrukte messen. Für jedes Konstrukt habe ich 12 Items generiert. Ich möchte nun alle Fragen randomisieren, also nicht nur die Items innerhalb eines Konstrukts, sondern alle Items insgesamt. Wie kann ich das machen, sodass ich auch bei der Auswertung noch die Items den Konstrukten zuordnen kann?

Vielen Dank im Voraus und liebe Grüße1

1 Answer

0 votes
by SoSci Survey (328k points)

Am einfachsten packen Sie alle Items in eine Frage und verwenden die Items 1-12 für das erste Konstrukt, 13-24 für das zweite u.s.w.

Die Rotation von Items über mehrere Seiten steht dann in der Anleitung Rotation beschrieben.

Für die Auswertung ist es relativ egal, ob die Items in einer Frage stehen oder über mehrere verteilt sind. Sollten Sie dennoch an den 4 getrennten Fragen hängen, wird es komplizierter. Dann müssten Sie die Items alle einzeln anzeigen lassen und dabei den Fragetitel ausblenden.

by s098391 (120 points)
Vielen lieben Dank für die Antwort.
Ich habe jetzt alle 48 Items in eine Frage gesetzt (NE02) und möchte jetzt eben die gesamten Items über verschiedene Seiten hinweg randomosieren. Am besten wäre es, wenn 12 Items pro Seite sind. Dazu habe ich versucht, diesen Code anzuwenden:

question('NE02');  // BeantwortungFragen
if (!isset($itemsNE02)) {
  // Alle Items der Frage NE02 auflisten
  $itemsAB01 = getItems('NE02', 'all');
  // Liste Mischen
  shuffle($itemsNE02);
  // Die Liste in Teillisten à 20 Items teilen
  $itemsNE02 = array_chunk($itemsNE02, 12);
  // Die Variable für andere Seiten verfügbar machen
  registerVariable($itemsNE02);
}
 
// Die Items über mehrere Seiten verteilt anzeigen
$i = loopPage(count($itemsNE02));
question('NE02', $itemsNE02[$i]);

Leider bekomme ich immer folgende Fehlermeldung:
- Warnung: Bitte beachten Sie, dass die von random() oder shuffle() erzeugten Zufallswerte nicht automatisch im Datensatz gespeichert werden. Zum Speichern können Sie ggf. die Funktion put() verwenden.
- zudem sind die Items nicht auf vier Seiten verteilt, sondern nur auf einer
- Darüberhinaus kommt folgende Fehlermeldung: Items in der nachfolgenden Fragen werden auf dieser Seite schon weiter oben angezeigt. Dies führt fast zwangsläufig zu Datenverlust! Falls Sie eine Frage mehrfach benötigen, legen Sie bitte eine Kopie der Frage an. Betroffen sind folgende Items: NE02_26, NE02_23, NE02_36, NE02_17, NE02_05, NE02_38, NE02_24, NE02_01, NE02_19, NE02_42, NE02_18, NE02_44, NE02_29, NE02_02, NE02_03, NE02_16, NE02_12, NE02_48, NE02_07, NE02_14, NE02_09, NE02_13, NE02_27, NE02_32, NE02_45, NE02_41, NE02_39, NE02_22, NE02_15, NE02_37, NE02_10, NE02_35, NE02_30, NE02_43, NE02_08, NE02_40, NE02_25, NE02_47, NE02_34, NE02_33, NE02_06, NE02_04, NE02_31, NE02_11, NE02_21, NE02_20, NE02_28, NE02_46.


Es wäre sehr nett,wenn Sie mir hierzu nochmal helfen könnten.
Vielen Dank!
by SoSci Survey (328k points)
Vermutlich haben Sie die Frage NE02 nicht nur mittels question() im PHP-Code aufgerufen, sondern auch noch in die Seite "hineingezogen"? Ziehen Sie sie bitte einfach wieder hinaus. Der Code sieht ansonsten korrekt aus.
by s098391 (120 points)
Danke für die Antwort, leider funktioniert es immer noch nicht.
Nein, ich habe sie jetzt nur über question() aufgerufen, aber bekomme immer noch Fehlermeldungen..
Woran könnte das noch liegen?
Ich habe auch die gesamte Frage (mit 48 Items) in die Seite gezogen und nicht eingestellt auf Seite 1 nur Item 1-12 anzeigen usw - muss ich dies machen?

Vielen Dank für ihre Mühe!
by SoSci Survey (328k points)
> aber bekomme immer noch Fehlermeldungen..

Verraten Sie welche, dann kann ich Ihnen antworten :)

> Ich habe auch die gesamte Frage (mit 48 Items) in die Seite gezogen

Nein, das bitte nicht. Außer dem PHP-Code sollte gar nichts auf der Seite stehen.
by s098391 (120 points)
ok das war dann schonmal ein Fehler :)
also ich habe jetzt diesen Code benutzt:
question('KG02');  // BeantwortungFragen
if (!isset($itemsKG02)) {
  // Alle Items der Frage KG02 auflisten
  $itemsKG02 = getItems('KG02', 'all');
  // Liste Mischen
  shuffle($itemsKG02);
  // Die Liste in Teillisten à 12 Items teilen
  $itemsKG02 = array_chunk($itemsKG02, 12);
  // Die Variable für andere Seiten verfügbar machen
  registerVariable($itemsKG02);
}
 
// Die Items über mehrere Seiten verteilt anzeigen
$i = loopPage(count($itemsKG02));
question('KG02', $itemsKG02[$i]);


Die  Items sind trotzdem alle noch auf einer Seite.
Zudem bekomme ich diese Fehlermeldung:
Items in der nachfolgenden Fragen werden auf dieser Seite schon weiter oben angezeigt. Dies führt fast zwangsläufig zu Datenverlust! Falls Sie eine Frage mehrfach benötigen, legen Sie bitte eine Kopie der Frage an. Betroffen sind folgende Items: KG02_31, KG02_34, KG02_24, KG02_39, KG02_05, KG02_03, KG02_18, KG02_42, KG02_25, KG02_21, KG02_20, KG02_45.


vielen Dank :)
by SoSci Survey (328k points)
Bitte nehmen Sie die erste Zeile

question('KG02');

noch aus dem PHP-Code. Sonst haben Sie die Frage doppelt auf der Seite. Einmal oben und einmal unten.
by s098391 (120 points)
Super, vielen lieben Dank, jetzt funktioniert es :).
Bei mir wird noch diese Meldung angezeigt:
>Bitte beachten Sie, dass die von random() oder shuffle() erzeugten Zufallswerte nicht automatisch im Datensatz gespeichert werden. Zum Speichern können Sie ggf. die Funktion put() verwenden.

Muss ich hierbei noch etwas beachten? Werden die Daten jetzt sicher gespeichert oder muss ich da noch eine weitere Funktion angeben?

Vielen Dank!
by SoSci Survey (328k points)
Falls Sie die Reihenfolge, mit welcher die Items angezeigt werden, für die Auswertung benötigen (z.B. um Reihenstellungseffekte zu analysieren), müssen Sie diese noch separat abspeichern. In der Anleitung zu put() bzw. "interne Variablen" finden Sie entsprechenden Beispiel-Code.
by s157519 (100 points)
Liebes Team! Ich hoffe Sie sehen diese Antwort jetzt noch.

Ich hatte das exakt gleiche Problem und habe ebenfalls diesen Code verwendet, der super funktioniert! Also Danke schonmal dafür!

Nun stehe ich aber noch vor dem Problem, dass mein Fragetext auf allen folgenden Seiten wieder angezeigt wird, ich ihn aber nur auf der ersten Seite brauche und dann auf den folgenden nur mehr die Items.
Außerdem ist die Frage numeriert, was ich gerne abstellen würde.

Könnten Sie mir vielleicht dafür einen kurzen Tipp geben wie ich das machen kann?

Mfg,
C. M.
by SoSci Survey (328k points)
> Nun stehe ich aber noch vor dem Problem, dass mein Fragetext auf allen folgenden Seiten wieder angezeigt wird

Sie können den Fragetitel inkl. Nummer im question()-Befehl mittels 'show-title=no' abschalten. Also konkret:

$i = loopPage(count($itemsKG02));
if ($i == 0) {
  question('KG02', $itemsKG02[$i]);
} else {
  question('KG02', $itemsKG02[$i], 'show-title=no');
}

Die Frage-Nummerierung können Sie ansonsten einfach in der Frage selbst deaktivieren. Rechts über dem Fragetext. Oder in den Fragebogen-Einstellungen global für den kompletten Fragebogen.

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

...