0 votes
in SoSci Survey (dt.) by s253424 (200 points)

Mein Ziele (Masterarbeit):
1. Seiten rotieren (es handelt sich dabei um 3 Skalen, die jeder Teilnehmer dargestellt bekommt, aber in einer anderen Reihenfolge). Das habe ich bereits erfolgreich per Zufallsgenerator "Seiten rotieren" gemacht.
2. Nun möchte ich gleichzeitig dass die Fragen der einen der 3 Skalen untereinander rotiert werden. Anmerkung: Jede Frage ist als Text formuliert (hat einen bestimmten Grund und wird so erstmal nicht geändert), sodass ich auch "Texte" rotieren könnte. Jede Frage/Text dieser Skala ist auf einer eigenen Seite, sodass ich auch Seiten rotieren könnte. Da es sich jedoch um 21 Textelemente/Fragen handelt, erscheint es mir nicht sinnvoll 21x20 Rotationsmöglichkeiten per Zufallsgenerator zu generieren.

Ich frage mich, welche Art der Rotation (oder ist es sogar Randomisierung?) am schlausten ist. Ich habe die Sorge, dass die Rotation innerhalb der einen Skala (Ziel 2.) meine Rotation der Skalen (Seiten) "gefährdet".
Ich habe bisher keine php codes verwendet und bin nicht Technologie affin. Freue mich über jeden Tipp! :)

by SoSci Survey (308k points)
Okay, nochmal für Menschen, die hitzebedingt etwas langsamer denken :)

3 Skalen, Items ausgestaltet als einzelner Fragen ist z.B. Fragen
AB01 bis AB07
BB02 bis BB07
CB02 bis CB07

Und Sie möchten jetzt einmal die drei Blöcke rotieren und innerhalb der der Blöcke die einzelnen Fragen, die wiederum auf einzelnen Seiten stehen. Soweit korrekt?
by s253424 (200 points)
Ich hoffe du genießt die Sonne!
ja bzw. möchte ich nur die Fragen innerhalb eines dieser Blöcke rotieren (ist ja aber an sich das gleiche). Zur Veranschaulichung der Fragen, die ich rotieren möchte (und weshalb es als Textelement dargeboten wird):

" Situation x y..." (Text als Frage)

Frage 1 (wie häufig erlebt)
Frage 2 (wie bewertet)
Das ist sozusagen "eine Frage" und jede auf einer Seite. die Items der anderen 2 Blöcke bleiben in der gleichen Reihenfolge.

1 Answer

0 votes
by SoSci Survey (308k points)

Die genaue Umsetzung hängt daran, ob Text und die beiden Items in einer Frage untergebracht sind oder auf mehrere Fragen verteilt sind.

Aber im Prinzip brauchen Sie das hier:
Rotierte Block-Abfolge

Also Arrays mit shuffle() mischen und dann wieder zusammenfügen. Das kann man entweder mit Seiten-Kennungen, oder mit Frage-Kennungen (plus loopPage()) oder mit Arrays machen, die mehrere Elemente (z.B. Text plus Frage) enthalten.

by SoSci Survey (308k points)
> Wenn ich eine leere Seite zwischen den Frageblöcken mit leerem php code hinzufüge, besteht das Problem weiterhin.

Ich habe mich missverständlich ausgedrückt: Das Problem entsteht durch leere Seiten. Wenn Sie z.B. eine Seite wie folgt in einem Ihrer Blöcke verwenden:

if (value('AB01') == 1) {
  show('BC01');
}

Dann würde diese Seite entweder die Frage BC01 zeigen oder eben nicht. Und in dem "eben nicht" Fall würde das beschriebene Probleme entstehen, wenn auf der folgenden Seite (evtl. auch später) eine Frage mit Antwortpflicht erscheint.

Bitte prüfen Sie als erstes alle Seiten, ob auf einigen Seiten nur PHP-Code steht und sonst keine Elemente auf die Seite gezogen sind. Und prüfen Sie auf diesen Seiten, ob der PHP-Code Inhalte (Fragen/Texte) zeigt oder nicht?

Die Seiten, wo nichts gezeigt wird, und wo SoSci Survey direkt zur nächsten Seite springt (wird in der Debug-Information angezeigt) sind die Ursache für das von Ihnen beschriebene Problem.
by s253424 (200 points)
Okay, ich habe keine leeren Seiten mehr
mein php code ist wie folgt:

$blockfolge = array_values(valueList('RG01'));


$blocks = [
1 => array_merge(['SU'], array_values(valueList('RG04', null, 'label'))),
2 => valueList('RG02', null, 'label'),
3 => valueList('RG03', null, 'label')
];


$gesamtliste = array_merge(
 $blocks[$blockfolge[0]],
 $blocks[$blockfolge[1]],
 $blocks[$blockfolge[2]]
);


setPageOrder($gesamtliste, 'IDENT');
und die Seite 'IDENT' hat auch Inhalte und enthält keinen php code.


Die Debug Informationen erscheinen ja in der Version wo RG04 am Anfang steht und ich bin den Fragebogen nun durchgegangen und habe mir parallel die Debug Informationen angeschaut und nichts auffälliges gefunden
by SoSci Survey (308k points)
Die Debug-Information (rechts oben) sollte eigentlich auf jeder Seite sichtbar sein?!

Okay, Sie hatten oben geschrieben, das Problem trete auf, wenn RG02 oder RG03 am Anfang kommen.  Das können Sie zum Testen durch folgende Ergänzung erzwingen:

$blockfolge = array_values(valueList('RG01'));
$blockfolge = [2,3,1];

Könnte es sein, dass auf der Seite mit der Blockfolge/dem obigen PHP-Code sonst nichts mehr steht, dass diese Seite also nichts anzeigt? Wenn ja, dann packen Sie den PHP-Code testweise mal auf die vorige Seite.
by s253424 (200 points)
Könnte es sein, dass auf der Seite mit der Blockfolge/dem obigen PHP-Code sonst nichts mehr steht, dass diese Seite also nichts anzeigt? Wenn ja, dann packen Sie den PHP-Code testweise mal auf die vorige Seite.
-> Ja. Ich hab es jetzt auf die vorherige Seite und auch die davor gepackt. Das Problem:
Die vorherige Seite ist eine Seite (S.3), die nur erscheint, wenn die Einwilligungserklärung auf Seite 2 mit "nein" beantwortet wurde. Wenn ich den php code auf Seite 3 packe, (und vorher mit "ja" gestimmt wurde) funktioniert der Code nicht. Wenn ich ihn auf S. 2 packe funktioniert die Randomisierung perfekt (eben auch ohne, dass RG02 und RG03 nochmal abgefragt werden) aber dann funktioniert der Filter nicht mehr. Das sind alles wesentliche Elemente des Fragebogens, sodass ich da ziemlich unflexibel in der Gestaltung bin.
Wenn es wirklich nicht anders geht würde ich eine Seite mit einer Frage (ohne Filter) hinzufügen. Aber wie gesagt, nur wenn es nicht anders geht.
by SoSci Survey (308k points)
Okay, ich sehe das Problem :D

Die  einfachste Lösung bestünde darin, dass nach der Einwilligungsfrage eine Seite mit Eisbrecherfrage kommt. Das wäre für eine gute Teilnehmerführung ohnehin keine schlechte Idee.

Die deutlich kompliziertere Lösung würde den Screenout bei nicht-Zustimmung als PHP-Code auf jede erste Block-Seite setzen. Oder unter PHP-Funktionen eine solche Funktion definieren und diese dann auf jeder der drei Block-Start-Seiten aufrufen.

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

...