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

0 votes

Liebes Support-Team,

für ein aktuelles Projekt möchten wir gerne für ca. 5000 Sätze Ratings auf zwei Skalen erheben. Hierzu haben wir in 2 Rubriken Fragen mit jeweils ca. 99 Items angelegt. Mit einem Loop für jede Frage, wird auf jeweils einer Seite im Fragebogen durch die entsprechenden Items iteriert.
Leider kommt es teilweise zu Fehlern in der Befragung: Bei der Bearbeitung kann dann das aktuelle Item geratet werden, durch das Klicken auf „weiter“ wird aber kein neues Item mehr gezeigt. Die Seite wird beim Klick auf „weiter“ neu geladen, das Item wechselt jedoch nicht und die Ratings bleiben in den Ratingskalen erhalten. Durch wiederholtes klicken auf „weiter“ läuft aber der Fortschrittsbalken weiter und auch die URL ändert sich.
Wird der Fragebogen dann ab diesem Item (oder einigen Items davor) neu gestartet läuft die Befragung erst einmal wieder wie gewohnt weiter.

Bei einem erneuten Start kann der Fehler nicht an der gleichen Stelle reproduziert werden.
Wir haben bereits in Erfahrung gebracht, dass bei 10 000 Ratings die möglichen 64KiloByte pro Fall nicht überschritten werden sollten. Auch wurden für die Loops jeweils unterschiedliche Variablennamen verwendet, sodass es zwischen den einzelnen Fragebogenseiten nicht zu Überschneidungen in den Wertebereichen kommen sollte.
Einzig auffällig ist die Anzeige des Fortschrittbalkens: dieser läuft zu Beginn der Befragung verhältnismäßig schnell herunter und wird dann zunehmend langsamer. Irgendwann sind 100% (vor Ende der Befragung) auf dem Balken erreicht und die Befragung läuft weiter. Die Fehler in der Befragung treten scheinbar unabhängig vom Ladebalken auf. Zu einem Abbruch kann es bei unterschiedlichen Prozentwerten kommen.

Kann es sein, dass wir bei dieser Größe des Datensatzes eine andere Form der Datenverwaltung nutzen müssen, damit alle Items während der Befragung geladen werden können? Müssen die Variablen vielleicht doch mit registerVariable() registriert werden, obwohl auf jeder neuen Seite neue Variablennamen verwendet werden? Oder gibt es eine andere Ursache, die wir bisher übersehen haben?

Vielen Dank schon einmal im Voraus für Ihre Hilfe!

in SoSci Survey (dt.) by s151448 (145 points)

1 Answer

0 votes

Ich habe - ohne weitere Informationen - zunächst folgende Vermutungen:

(1) Die abnehmende Geschwindigkeit der Fortschrittsanzeige spricht dafür, dass SoSci Survey zu Beginn nicht weiß, wie viele Seiten da kommen werden. Wenn die Loops erst nacheinander definiert werden, dann ist für den Fragebogen auf Seite 1 noch nicht abzusehen, dass statt 50 tatsächlich 5000 Seiten kommen sollen.

Eine Möglichkeit wäre hier, dass man nur einen einzigen Loop definiert (mit 5000 Wiederholungen ... das möchten Sie aber nicht wirklich einem einzigen Teilnehmer antun, oder???) - und welche Frage und welches Item ann angezeigt wird, das entscheidet sich einfach aus der Zahl. Stichwort: Teilen mit Rest.

Das würde dann übrigens auch eine Rotation der Items erlauben, falls gewünscht :)

Ebenfalls denkbar wäre die Verwendung eines Multi-Level-Strukture, welche auch die Inflation von Variablen vermeinden würde.

(2) Wenn sich der Fortschrittsbalken ändert, nicht aber das Item, dann könnte das an einem Fehler bei den Items oder der Schleifen-Programmierung liegen. So wie ich Sie verstehe, ist der Fragebogen im Moment eher komplex aufgebaut. Es ist nicht ganz abwegig, dass sich bei 5000 Items und 50 Seiten PHP-Code ein Fehler eingeschlichen hat.

(3) Wir wissen seit ca. 2 Monaten von einem Problem mit Loops, welches dann auftritt, wenn der Weiter-Knopf mehrfach verwendet wird. SoSci Survey kontrolliert in der aktuellen Version nur die Nummer der Seite, wenn es die übermittelten Daten verarbeitet. Wenn dieselbe Seite doppelt an den Server geschickt wird, dann wird das als zwei unterschiedliche Seiten im Loop interpretiert. Das zweite Item würde dann de-facto übersprungen.

Da Loops nur vergleichsweise selten eingesetzt werden und die Nutzer nur selten so ungeduldig klicken, dass die Seite mehrfach übermittelt wird, ist die Behebung dieses Problems erst für die nächste Version 3.3 geplant - also nicht vor 2021. Wenn Sie allerdings nicht mit 10 Wiederholungen arbeiten, sondern mit 5000, dann wächst die Wahrscheinlichkeit, dass dieses Problen innerhalb eines Datensatzes auftritt, natürlich deutlich an.

Mittels JavaScript könnte man dafür sorgen, dass der Weiter-Knopf nach dem ersten Klick deaktiviert wird.

(4) Eine mögliche Optimierung könnte im Einsatz von Auswahlabfolgen bestehen. Diese arbeiten bis zu 99 Items auf einer einzelnen Seite ab und halbieren die Anzahl der Klicks.

(5) Ein Problem bezüglich des Speicherplatzes kann entstehen, wenn man mit Loops arbeitet und leere Seite im Fragebogen übersprungen werden. Das kann dazu führen, dass sich der für die Loops intern benötigte Speicher potenziert.

by SoSci Survey (141k points)
edited by SoSci Survey
...