Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Umfrage erneut beginnen

  • Nessias
  • Nessias's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
4 years 1 month ago #195400 by Nessias
Umfrage erneut beginnen was created by Nessias
Hallo,

ich möchte gerne eine Umfrage anlegen, welche sich auf die Beschreibung einer speziellen Technologie bezieht.
Da ich Teilnehmer erwarte, die mehrere Technologien beschreiben können. würde ich gern eine Art Schleife einbauen: Der Teilnehmer startet die Umfrage, beantwortet 5 Fragen und in Frage 6 gibt er an, ob er diese Fragen auch zu weiteren Technolgien beantworten kann. Wenn ja soll die Umfrage erneut starten, wenn nein, soll sie beendet werden.
Wie kann ich entsprechend der Antwort in der letzten Frage diese Schleife erzeugen?

Ist das überhaupt möglich?

Vorab schon einmal vielen Dank.
Nessias
The topic has been locked.
More
4 years 1 month ago - 4 years 1 month ago #195401 by jelo
Replied by jelo on topic Umfrage erneut beginnen

Nessias wrote: Wie kann ich entsprechend der Antwort in der letzten Frage diese Schleife erzeugen?
Ist das überhaupt möglich?

Nein, LimeSurvey unterstützt keinerlei Looping. Das bedeutet dann für jede Variante extra Fragen anlegen.

Als Feature bereits gewünscht.
bugs.limesurvey.org/view.php?id=7978
bugs.limesurvey.org/view.php?id=11687

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
Last edit: 4 years 1 month ago by jelo.
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 1 month ago #195405 by Joffm
Replied by Joffm on topic Umfrage erneut beginnen
Du kannst so etwas machen, indem Du zwei Studien anlegst:
Master und Slave.
In der Master-Studie startest Du normal und am Schluss gehst Du mittels end-url (übergeben werden die SAVEDID und ein Parameter, der die zunächst zu beschreibende Technologie angibt) auf die zweite Studie über.
Hier werden nun die Fragen zur angegebenen Technologie beantwortet und am Ende kommt die Frage "Welche weitere?"
Bei Angabe einer weiteren startest Du diese Slave_Studie mittels end-url auf sich selbst erneut (übergebene Parameter: die SAVEDID der Master-Studie, die Du also zwischenspeichern musst, und der Code der weiteen technologie).
Das treibst Du soweit, bis alle Technologien abegarbeitet sind, oder der Respondent sagt "Keine mehr".
Das heißt natürlich, dass Du auch die bereits bearbeieteten Technolgien speichern, und ebenfalls als Parameter übergeben musst.

Vielleicht ein bisschen viel auf einmal; aber es geht gut.

Aber es ist auch die Frage: Wieviele verschiedene Technologien willst Du abfragen?
Und wieviele Fragen zu jeder?
Soll heißen: Lohnt sich der Aufwand dieser Master-Slave Geschichte?

Oder auch: Komst Du an das MySQL-Spalten-Limit, wenn Due für jede Technologie eine neue Gruppe anlegst?

Da ja anscheinend die Fragen zu jeder Technologie dieselben sind, kann man sich auch überlegen, ob Du mit "micro-tayloring" arbeiten kannst; sprich, die Bezeichnung der Technologie einfach einpipen.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 1 month ago #195412 by holch
Replied by holch on topic Umfrage erneut beginnen
Wie Joffm und Jelo. Es gibt kein Loop-Feature in LS.

Aber Joffm hat zwei Optionen beschrieben, mit denen man so ein Loop-Feature simulieren kann.

Wenn sich die maximale Anzahl an Technologien in Grenzen hält, würde ich persönlich halt für jede Technologie die Fragengruppe kopieren und anlegen.

Wenn die Zahl der Technologien sehr gross werden kann, dann wie von Joffm beschrieben mit einem Redirect arbeiten, dann füllt der Teilnehmer halt für jede Technologie eine neue Umfrage (wenn man es richtig aufbaut bekommt der Teilnehmer da eigentlich nichts mit davon).

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
More
4 years 1 month ago #195414 by jelo
Replied by jelo on topic Umfrage erneut beginnen

holch wrote: wenn man es richtig aufbaut bekommt der Teilnehmer da eigentlich nichts mit davon).

Vor- und Zurückspringen über verkettete Befragungen hinweg? Token/Wiederaufnahme? Löschen der Befragung-Link über gesamte Befragung? Das sind ja Einschränkungen, die bei allen verketteten Befragungen vorliegen. Aber meist erst viel später auffallen.

The meaning of the word "stable" for users
www.limesurvey.org/forum/development/117...ord-stable-for-users
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 1 month ago #195421 by holch
Replied by holch on topic Umfrage erneut beginnen
Klar, wenn man das braucht. Ich lasse in den meisten Fällen sowieso niemanden zurückspringen, schon gar nicht über verkettete Befragungen. Aber klar, wenn man es braucht.
Löschen der Befragung: Tja, da muss man dann halt mal per Hand ran.
etc.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
4 years 1 month ago #195459 by Joffm
Replied by Joffm on topic Umfrage erneut beginnen
Ich habe einmal eine kleine Beispiel-Studie zusammengebaut.
Im ersten Teil geschieht nicht viel; eben die generellen Fragen.
Außerdem habe ich eine Gleichung eingebaut, die die
aufzurufende SurveyID (SID1) = aufrufende SurveyID + 1
setzt.
Es ist ja auch sinnvoll, dass die Studiennummern beieinander sind.

Gut, dann wäre der Link zu Deiner Loop-Studie:
http(s)://www.myServer.de/limesurvey/index.php/{SID1}?newtest=Y&pSAVE={SAVEDID}&pTECHNO=M010203040506&aTECHNO=01

Dabei gilt:
in pSAVE wird die SAVEDID übergeben; die benötigst Du später zum Zusammenführen der Daten.
in pTECHNO stehen irgendwelche zweistelligen Platzhalter für die abzufragenden Technologien (hier eben 6).
in aTECHNO steht der aktuelle Wert der Technologie, die abgefragt wird (hier eben die erste)

Nun startet als die Loop-Studie.
Mittels Panel-Integration werden die drei übergebenen Werte gespeichert,
mittels Micro-Tayloring der Name der aktuellen Technologie in der Frage angezeigt, und die Frage selbst natürlich.

Danach kommen ein paar Gleichungen mit Stringfunktionen, die die gerade abgearbeitete Technologie aus dem String "pTECHNO" entfernen.

In einer (versteckten) Mehrfachnennung mit den möglichen Technologien als Teilfragen (Codes schon direkt zweistellig gesetzt "01", "02", ...) werden nun die noch offenen Technologien - das sind die, die noch in pTECHNO stehen - auf "checked" gesetzt.

Und zuletzt wird die Einfachnennung - ebenfalls mit allen Technologien, aber mittels Matrixfilter der Mehrfachennung auf die noch offenen reduziert - angezeigt, mit der zusätzlichen Antwortmöglichkeit "Keine mehr".

Eine letzte Gleichung erstellt nun den Link zur Studie (also zu sich selbst)
{if(Q1=="07","","http(s)://www.myServer.de/limesurvey/index.php/"+SID+"?newtest=Y&pSAVE="+pSAVE+"&aTECHNO="+Q1+"&pTECHNO="+pTECHNO)}

Da ich ja 6 Technologien angenommen habe, ist der Code "07" eben "Keine mehr", und dann wird die end-url geleert.


Das ist eigentlich alles.

Als Export erhält man dann (beide Ergebnisse zusammengefasst:

Man sieht deutlich, wie die id der "Master"-Studie mit pSAVE der "Slave"-Studie zusammenhängt.
Im Grunde sind die Spalten "pTECHNO", "aTECHNO" und "Q1" überflüssig; hier nur gezeigt, um den Ablauf darzustellen.

Und zum Schluss noch der lss export der "Slave"-Studie.
Wie schon gesehen, wird über die Technologie selbst nur eine einzige Frage gestellt, nämlich infoTECH. Weiteres sei dem Threadersteller überlassen.

File Attachment:

File Name: limesurvey...5479.lss
File Size:30 KB


Joffm

P.S.
Das "M" am Anfang vom pTECHNO dient nur dazu den gefundenen Index größer "0" zu machen.
Wenn man nämlich nach "01" suchen würde, käme normalerweise der Index "0" heraus (die String-Funktionen fangen bei "0" an zu zählen)
Das ist aber nicht schön, da die Suchfunktion eben auch "false" = "0" herausgibt, wenn nicht gefunden wurde.
Und LimeSurvey unterstützt den Operator "!==" = "nicht identisch" nicht (damit könnte man nämlich zwischen dem boolschen Wert "false" und dem numerischen Wert "0" unterscheiden.
Daher eben mit Hau-Ruck, und ein zusätzliches Zeichen an den Anfang gesetzt.

P.P.S.
Falls Tokens ins Spiel kommen, ist die Master-Studie diejenige, die token-basiert ist; die Slave-Studie ist offen.
Man sollte aber am Anfang noch testen, ob die notwendigen Parameter übergeben wurden; fals nicht -> ScreenOut mittels Quota wegen fehlender Rechte.

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Nessias
  • Nessias's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
4 years 3 weeks ago #195718 by Nessias
Replied by Nessias on topic Umfrage erneut beginnen
Abgefahren, Leute.

Vielen Dank für die zahlreichen und schnellen Antworten.
Die Überlegung von Joffm über Aufwand und Nutzen gleich zu Beginn hat mich aber dazu gebracht, die Fragen (es sind in der Tat nicht so viele) in eine Gruppe zu packen und die Gruppe dann einfach zu wiederholen.
Die Fragen sind immer die gleichen und ich habe die max. Anzahl an Technologien einfach auf 5 begrenzt. Das wird ausreichen.

Für den Fall, dass ich in Zukunft eine umfangreichere Lösung brauche, habt ihr ja schon einige Ansätze bzw. ganze Lösungen beschreiben.

Ich danke euch wirklich sehr für eure Mühe.

Bleibt gesund!
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose