- Posts: 10
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Problem mit Veröffentlichung Umfrage: zu viele (Teil-Fragen)? Was tun?
- FranziskaDeiss
- Topic Author
- Offline
- New Member
Ihre LimeSurvey-Version: [siehe rechts unten auf Ihrem LimeSurvey-Verwaltungsbildschirm] LimeSurvey Community Edition
Version 3.27.19+210928
Eigener Server oder LimeSurvey-Cloud: LimeSurvey-Cloud
Genutzte Designvorlage: Fruity Variation
==================
Ich habe mit LimeSurvey (in stundenlanger Arbeit) eine Umfrage mit 118 Fragen (110 davon mit (je 15Sekunden) Hörbeispiel, hochgeladen in die Ressourcen, ansteuerbar über HTML Implementierung) für meine Examensarbeit im Fach Musik erstellt. Alle Fragen sind Matrixfragen mit immer denselben Antwortmöglichkeiten.
Leider taucht beim Veröffentlichen immer der Fehler: „Umfrage Aktivierungsfehler: Die Umfrage-Antworttabelle konnte nicht erstellt werden. Üblicherweise wird dies durch zu viele (Teil-)Fragen in Ihrer Umfrage verursacht. Bitte versuchen Sie Fragen aus Ihrer Umfrage zu löschen.“
Ich benötige leider alle Fragen für meine Studie und weiß zudem nicht genau, ob es an Teilfragen, Fragegruppen oder Einzelfragen liegt…
Könnt Ihr mir helfen eine Lösung zu finden?
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
- Posts: 12881
- Thank you received: 3965
ja, es ist eben so, dass es Limitierungen bei den verwendeten Datenbanken gibt.
Das hat primär nichts mit LimeSurvey zu tun.
Aber egal, welche Datenbank Eure Uni benutzt, MSSQL, MariaDB, MySQL, PostgreSQL: alle können nur eine bestimmte Anzahl Felder pro Datensatz verarbeiten.
Das steht im Handbuch
[url] manual.limesurvey.org/General_FAQ/en#...regarding_survey_size [/url]
Die erste Lösung ist dann immer zu sagen: Teile die Umfrage in zwei Teile, die Du über die end-url verbindest.
Ich denke aber, bei Dir gibt es eine einfachere Lösung, da ich mir nicht vorstellen kann, dass Du jeden Teilnehmer mit 110 Hörbeispielen malträtieren willst.
Daher bin ich ziemlich sicher, Du kannst die Umfrage deutlich verkürzen, indem Du "tayloring" verwendest.
Dann kann man sicherlich - statt für jedes Beispiel neue Fragen zu erstellen, einfach das jeweilige Beispiel mittels Expression Manager einblenden.
Aber dazu müssten wir dann schon etwas genauer das Design kennen.
Daher solltest Du einmal einen Prototypen erstellen - bitte nicht mit 118 Fragen, aber vielleicht mit den ersten 8 und 10 Hörbeispielen - den Du als lss Export hier anhängst.
Bis dann
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- FranziskaDeiss
- Topic Author
- Offline
- New Member
- Posts: 10
- Thank you received: 0
Danke für die schnelle Antwort. Leider will ich die Teilnehmer mit 118 Hörbeispielen malträtieren... Es müssen auch nicht hunderte Leute ausfüllen, ein kleiner Kreis reicht, um das abschätzen zu können.
Werde also wohl die Umfrage in mind. 2, wenn nicht mehrere Teile aufteilen müssen - wie mache ich das am sinnvollsten? (Die Hörbeispiele sind über HTML mit den Ressourcen verknüpft, lade ich also am besten die Ressourcen in eine neue Umfrage hoch und kopiere dann Fragegruppen?) Bestimmt gibt es da Tricks, die ich noch nicht kenne.
Ich erstelle gerne am Abend einen Prototypen, den ich dann versuche hier anzuhängen.
Danke und viele Grüße
Franziska
Please Log in to join the conversation.
- holch
- Offline
- LimeSurvey Community Team
- Posts: 11637
- Thank you received: 2737
Danke für die schnelle Antwort. Leider will ich die Teilnehmer mit 118 Hörbeispielen malträtieren... Es müssen auch nicht hunderte Leute ausfüllen, ein kleiner Kreis reicht, um das abschätzen zu können.
Wer macht bei sowas mit???
Nur das anhören der Hörbeispiele nimmt ja mindestens 110x 15s, sprich 1650 Sekunden oder 27,5 Minuten ein. Aber, Man kann da sicher nochmal 5 Sekunden drauf rechnen, bis das Beispiel geladen ist, angehört wurde, etc. und dann muss das Ding ja auch noch beantwortet werden. Dürfte wohl pro Frage nicht unter einer halben Minute bleiben.
Aus der Praxiserfahrung kann man sagen, dass du entweder sehr, sehr instrinsisch motivierte Teilnehmer brauchst oder du im Prinzip alles was nach dem 10. oder 20. Hörbeispiel so an Antworten kommt getrost in die Tonne treten kannst. Die Leute hören nicht mehr richtig zu, sie wollen nur noch durch kommen. So ist das einfach. Da muss man realistisch sein.
Zum teilen eines Fragebogens: Mach eine Kopie, lösche in der Kopie die ersten 50% der Fragen raus und lasse nur die zweiten 50%. Versuche zu aktivieren. Wenn das klappt, dann solltest du die beiden Teile eigentlich aktivieren können.
Da du vermutlich die Antworten aus den beiden Befragungen später zusammen analysieren willst, musst du halt vom ersten zum zweiten Fragebogen eine ID übergeben, durch die du die Antworten zusammenbringen kannst. Die SAVEDID aus dem ersten Fragebogen würde sich da anbieten.
Die übergibst du dann in der ENDURL mit automatischer Weiterleitung an den zweiten Fragebogen und speicherst sie dort als "ID" oder ähnliches ab.
I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.
Please Log in to join the conversation.
- FranziskaDeiss
- Topic Author
- Offline
- New Member
- Posts: 10
- Thank you received: 0
Dein Tipp mit der Teilungsumsetzung werde ich heute Abend versuchen.
DANKE
Ich melde mich dann hier, wie der Stand ist.
TOLL, dass mir hier so sehr geholfen wird! Ich weiß das echt zu schätzen und wäre sonst hilflos und ziemlich aufgeschmissen.
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
- Posts: 12881
- Thank you received: 3965
nachdem @holch schon alles gesagt hat, was wir aus unserer jahrzehntelangen Erfahrung als Markt- und Meinungsforscher heraus zu sagen haben, sage ich dazu nichts mehr.
Daher ein paar praktische Tipps:
1. Du benötigst eine Variable, anhand Du die Daten der beiden Teile zusammenfügen kannst.
Dazu nimmt man als einfachste Lösung die sogenannte {SAVEDID}
Dies ist einfach ein hochgezählter Index der Antwort und damit eindeutig.
Erstelle also die end-url des ersten Teils wir folgt:
Der link zum zweiten Teil ergänzt mit &RID={SAVEDID}
Ich habe den Parameter "RID" genannt, soll an Respondent ID erinnern.
https://www.meinServer/limesurvey/index.php/222222?lang=de&RID={SAVEDID}
Nun muss dieser Parameter im zweiten Teil gespeichert werden.
Dazu als erstes eine (versteckte) Frage vom Typ "kurzer Text", die Du "RID" nennst.
Das ist schon alles.
Solltest Du nun sogar drei Teile machen wollen/müssen, so übergibst Du diese RID weiter an den dritten Teil
https://www.meinServer/limesurvey/index.php/333333?lang=de&RID={RID}
Im exportierten Datensatz erhältst Du dann diesen Wert
In den Daten des ersten Teils in der Variablen "id", in allen anderen eben in "RID"
Gut, das war das Wichtige.
Der Rest ist jetzt "Schönheit".
2. Natürlich wird in den Folgeteilen keine "Willkommensseite" gezeigt.
3. Ebenso natürlich wird kein Fortschrittsbalken gezeigt; er würde ja in jedem weiteren Teil wieder bei 0 beginnen.
4. Füge Textanzeigen ein, um Feedback zu geben, den Teilnehmer ein bisschen zu motivieren, oder auch zu sagen "Zeit, eine kleine Pause zu machen" (siehe dazu auch das beigefügte pdf)
5. Damit am Ende des ersten Teils der Button nicht mit "Absenden" beschriftet ist, sondern "Weiter" zeigt, solltest Du am Ende eine Gruppe mit einer versteckten Frage (irgendetwas, kurzer Text, oder so) erstellen.
6. Natürlich "Automatisch end-url laden, ..." einschalten
Jetzt kommt doch noch etwas:
Ich fürchte, Deine Frage der vorigen Woche über "semantische Differentiale" hat mit dieser Umfrage zu tun.
Lies Dir einmal dies durch
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- FranziskaDeiss
- Topic Author
- Offline
- New Member
- Posts: 10
- Thank you received: 0
Und ja, dieses Problem und die semantischen Differentiale hängen zusammen - zu jedem Hörbeispiel sollen die gleichen Begriffe abgefragt werden. D.h. zumindest die Fragestellung ist ab dem 5. Hörbeispiel easy und muss nicht jedes mal neu gelesen werden...
Klingt ganz schön technisch, aber ich werde es mal probieren und Vorsichtshalber am besten außerhalb der aktuellen Frageversion. Danke für die ausführliche Erklärung, ich hoff, ich schaff das!
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
- Posts: 12881
- Thank you received: 3965
x aus y Fragen zufällig auszuwählen ist "das Einfachste von der Welt" in LimeSurvey.
Mit einem bisschen Javascript ist das erledigt.
Du musst nur sagen wie viele Beispiele jeder hören soll.
Und schick ein kleines Beispiel als lss Export.
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- FranziskaDeiss
- Topic Author
- Offline
- New Member
- Posts: 10
- Thank you received: 0
Wäre es denn möglich meine Ursprungsumfrage mit den zu vielen Fragen zu nehmen und dort für jeden Teilnehmer/in z.B. 30 / 40 Hörbeispiele zufällig abspielen zu lassen?
(Aus dann Fragegruppe 2-5, es sind 5 Fragegruppen mit Hörbeispielen, Fragegruppe 1 umfasst allgemeine Daten)
Werde morgen vormittag Rücksprache mit dem betreuenden Prof. halten, was er als weiteres vorgehen vorschlägt (zufällige Hörbeispiele, oder doch die Teilnehmer durch alle Beispiele führen und dafür evtl. 5 Weiterleitungen erstellen)
Ich bin absoluter Neuling, bisher nur literaturbasierte Arbeiten geschrieben... Bin also für jegliche Kritik dankbar und möchte auch gerne LimeSurvey lernen, da ich in Zukunft auch gerne Forschen möchte...
Danke für die liebe Hilfe!
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
- Posts: 12881
- Thank you received: 3965
hier zunächst ein Beispiel für die Weiterleitung.
Ich habe es auf 6 + 6 komprimiert; es ist so schon genug Tipparbeit.
Desweiteren habe ich
1. die jeweils ersten Matrixfragen von 5-Punkte-Matrix auf Matrix geändert; so kannst Du bessere Antwortoptionen benutzen.
2. die Geschlechtsfrage von Drop-Down nach Bootstrap-Buttons geändert. Was soll ein Drop-Down bei drei Antwortoptionen? Erster Klick, um es aufklappen zu lassen, zweiter Klick um auszuwählen. Mache es den Leuten nicht noch schwerer!
3. die Zählung der Musikstücke dynamisch gestaltet mit der property ".qseq", (in der ersten Matrix)
Dann noch: Wie hast Du Dir denn die Frage A4 vorgestellt?
Dort sind gefühlte 5 Fragen in einer zusammen. Es verwirrt den Teilnehmer. Wie willst Du das auswerten?
Da ja mehr oder weniger alles in den Kommentar geschrieben werden muss (Instrument, Gesang, Dauer), könntest Du auch nur eine offene Nennung daraus machen.
Besser wäre natürlich eine Aufteilung der Frage, evtl. so
Aber das zeige ich dann im nächsten Beispiel, in welchem es um die zufällige Auswahl von 40 Musikstücken geht.
Insgesamt ist das Layout noch zu verbessern.
Dazu könntest Du einmal meine Tutorials hier lesen. Es gibt zur Zeit drei; einfach herunbterscrollen; sie sind so auf den Seiten 2 - 4.
Hier die beiden Teilumfragen
Bis dann
Joffm
P.S.
Jetzt ist ja auch klar, wieso Deine Umfrage zu groß ist.
110 Fragen mit jeweils 13 Items belegen ja schon 1430 Variable (Datenbankspalten).
Gehen wir von einer Installation mit InnoDB aus (dies ist die modernere Variante im Vergleich zu MyISAM). Diese hat eben nur eine Maximalzahl von 1000 Spalten.
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- Joffm
- Offline
- LimeSurvey Community Team
- Posts: 12881
- Thank you received: 3965
Zunächst werden die Zufallsauswahl erstellt.
In einer Frage vom Typ "kurzer Text" in der ersten Gruppe wird in den Quellcode der Frage dieses kleine javascript-Stückchen eingetragen
<script type="text/javascript" charset="utf-8"> function shuffle(array) { var currentIndex = array.length, temporaryValue, randomIndex; // While there remain elements to shuffle... while (0 !== currentIndex) { // Pick a remaining element... randomIndex = Math.floor(Math.random() * currentIndex); currentIndex -= 1; // And swap it with the current element. temporaryValue = array[currentIndex]; array[currentIndex] = array[randomIndex]; array[randomIndex] = temporaryValue; } return array; } $(document).on('ready pjax:scriptcomplete',function(){ // Anzahl der gewünschten Beispiele pro Teilnehmer var nbrExamples = 4; // Fill the array var arr = []; // Hier muss dann in der scharfen Umfrage i < 113 stehen, ich habe aber nur 13 Texte for (var i = 1; i < 14; i++) { var i2='000'+i; arr.push(i2.slice(-3)); } arr = shuffle(arr); anumbers = arr.slice(0,nbrExamples).join(''); $('#question{QID} input[type="text"]').val(anumbers); // Nach dem Testen die // der nächsten Zeile entfernen, damit die Frage versteckt wird // $('#question{QID}').hide(); }); </script>
Damit erhalte ich einen wohldefinierten Text in dieser Frage. Er enthält 4 (ich wollte ja 4 haben) zufällig ausgewählte Zahlen, alle dreistellig links mit "0" aufgefüllt.
Nun kann man diese Zahlen eine nach der anderen abgreifen mit der Funktion "substr()" und die Hörbeispiele dynamisch laden.
Ich habe die Beispiele einfach "hopp001.mp3", "hopp002.mp3",..."hopp110.mp3" genannt
Dann ist der Aufruf für das erste Beispiel
<audio controls="" style="width: 185px;"><source src="https://www.myServer.de/myFolder/hopp{substr(auswahl,0,3)}.mp3" type="audio/mp3" /></audio>
<audio controls="" style="width: 185px;"><source src="https://www.myServer.de/myFolder/hopp{substr(auswahl,3,3)}.mp3" type="audio/mp3" /></audio>
<audio controls="" style="width: 185px;"><source src="https://www.myServer.de/myFolder/hopp{substr(auswahl,6,3)}.mp3" type="audio/mp3" /></audio>
Außerdem hier die Erklärung zur dynamischen Zählung des Beispiels mittels
{self.sq_SQ001.qseq-6}
Die Property .gseq liefert die fortlaufende Nummer der Fragen, so wie sie angezeigt werden, beginnend bei "0".
Über "self" lese man im Handbuch
Und die 6 wird subtrahiert, damit es bei 1 startet, die ersten 7 Fragen (Index 0-6) werden ignoriert.
Hier das Beispiel
Das ist nun zunächst einmal schön und gut.
Aber man bekommt nichts umsonst.
Da nun in der Frage B1 jedes der 110 Beispiel stehen kann (in den übrigen Fragen analog), muss bevor die Auswertung starten kann, der gesamte Datensatz umstrukturiert werden
Zum Glück hat man die Frage "auswahl"
Ein Export nach EXCEL bringt also so etwas (nur jeweils 3 Items jeder Frage exportiert)
Mit einem kleinen Makro wird man also die Bereiche sortieren müssen,
Das, was hier in B1 steht nach B11, was in B2 steht, passt zufällig, was in B3 steht nach B6.
Am besten eine EXCEL Tabelle erstellen, die alle 110 x 13 Spalten enthält, und dann entsprechend dorthin kopieren.
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
Please Log in to join the conversation.
- FranziskaDeiss
- Topic Author
- Offline
- New Member
- Posts: 10
- Thank you received: 0
Danke.
Ich hab noch einige Rückfragen... Bevor ich die los werde:
Ich habe mit meinem Prof gesprochen, ihr habt ihn überzeugt, die Teilnehmer nicht mit 112 Hörbeispielen in die Flucht zu jagen, sondern jedem randomisiert 30 oder 40 zu geben.
Das also das Ziel!
1. die jeweils ersten Matrixfragen von 5-Punkte-Matrix auf Matrix geändert; so kannst Du bessere Antwortoptionen benutzen.
-> Das werde ich jetzt direkt bei den Fragen ändern!
2. die Geschlechtsfrage von Drop-Down nach Bootstrap-Buttons geändert. Was soll ein Drop-Down bei drei Antwortoptionen? Erster Klick, um es aufklappen zu lassen, zweiter Klick um auszuwählen. Mache es den Leuten nicht noch schwerer!
Wohl wahr... Deine Variante sieht viel schicker aus, ändere ich! Danke
3. die Zählung der Musikstücke dynamisch gestaltet mit der property ".qseq", (in der ersten Matrix)
DANKE, ich lese im Handbuch und versuche dann alle Fragen zu ändern!
Ist beim 2. Hörbeispiel dann "{self.sq_SQ002.qseq-6}"?
Zu Frage 4, deine Aufteilung finde ich gut. Meine war wohl etwas kompliziert, ich werde mehrere Fragen draus machen.
Please Log in to join the conversation.