0 votes
in SoSci Survey (dt.) by s231241 (165 points)

Hallo zusammen,

ich möchte meinen Teilnehmern am Ende meines Fragebogens eine Tabelle anzeigen, in der die ihre eigenen Antworten sowie die durchschnittlichen Antworten aller bisherigen Teilnehmer angezeigt wird, und zwar für jedes Item. Mein Fragebogen hat ca. 40 Items. An sich funktioniert alles gut, aber Sosci beschwert sich, wenn ich die statistic-Funktion mehr als 10 mal auf einer Seite verwende. Da meine Tabelle aber für jedes Item einmal die statistic-Funktion verwenden soll, funktioniert es nicht. Mein PHP-Code sieht folgendermaßen aus (natürlich reduziert):

text('results', array(
  '%val-item1%' => value('A101_01'),
  '%val-item2%' => value('A101_02'),
  '%val-item3%' => value('A101_03'),
  '%mean-item1%' => statistic('mean', 'A101_01'),
  '%mean-item2%' => statistic('mean', 'A101_02'),
  '%mean-item3%' => statistic('mean', 'A101_03'),
));

HTML & PHP funktionieren, solang ich weniger als 10 Tabelleneinträge anzeigen lasse.

Kann mir jemand erklären, wieso Sosci die Verwendung der statistic-Funktion auf 10 pro Seite beschränkt und/oder wie man dieses Problem umgehen kann?

Schonmal vielen Dank! :)

2 Answers

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

Sosci beschwert sich, wenn ich die statistic-Funktion mehr als 10 mal auf einer Seite verwende.

Und das zurecht - denn für jeden einzelnen statistic()-Aufruf muss der komplette Datensatz geladen werden. Das erzeugt eine Menge Arbeit im Hintergrund, welche diesen und andere Fragebögen ausbremsen kann.

Technisch lässt sich das umgehen, indem man die Variablen vorab lädt:

statistic('load', ['A101_01', 'A101_02', 'A101_03']);

Allerdings wird das die Fehlermeldung nicht beseitigen. Ich prüfe einmal, ob sich das optimieren lässt. Aber dies wird min. 2 Wochen in Anspruch nehmen ... derweilen lautet die offizielle Antwort, dass nicht mehr als 10 statistic()-Aufrufe pro Seite erlaubt sind.

0 votes
by SoSci Survey (327k points)

Update: SoSci Survey zählt jetzt nur noch, wenn durch statistic() tatsächlich der Datensatz durchlaufen werden muss. Das ist bei statistic('count') in aller Regel nicht der Fall. Für andere Statistiken kann man die Daten vorab laden:

statistic('load', ['A101_01', 'A101_02', 'A101_03']);
by s231241 (165 points)
Das ist super hilfreich, vielen Dank! Ich kann nun die Tabelle für alle 40 Items auf einer Seite abbilden (über die 'load'-Funktion)

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

...