Welcome to the LimeSurvey Community Forum

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

Fragengruppe soll nach Beantwortung aller Fragen nicht mehr angezeigt werden

  • SarahFirefox
  • SarahFirefox's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 11 months ago #215819 by SarahFirefox
Liebes LimeSurvey-Forum,

Ich habe nun schon einige Umfragen erstellt und auch mit Relevanzgleichung gearbeitet, komme aber gerade nicht weiter. Eine Lösung mit Bedingungen setzten bzw. Relevanzgleichungen ist aus meiner Sicht zu kompliziert - gerade auch wegen der Länge der Umfrage.


Ich möchte, dass eine Fragengruppe welche genau eine Frage enthält, nur angezeigt wird wenn die Teilnehmer noch nicht-beantwortete Fragen haben. Sobald die Umfrage vollständig ausgefüllt ist, soll diese nicht mehr angezeigt werden. Gibt es einen "einfachen" Weg das einzustellen?

Eine Nebenfrage: Wie könnte ich genau das Gegenteil bewerkstelligen - dass eine Fragengruppe nur angezeigt wird wenn alle Fragen beantwortet wurden (Gewinnspiel, an dem man nur teilnehmen kann wenn alles beantwortet wurde).



Ich verwende LimeSurvey Version 3.26.1+210427, im Rahmen eines Uni-Abonnements. Meistens verwende ich als Browser Chrome.


Viele Grüße,
Sarah
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 11 months ago #215827 by Joffm
Hallo, Sarah,
wie habe ich mir dies vorzustellen?
Die Umfrage enthält Fragen, die nicht Pflichtfragen sind?
Wenn eine/mehrere davon nicht beantwortet wurden, wird diese Frage, die ja wohl irgendwie am Schluss kommt, nicht angezeigt?
Gilt dies auch, wenn in einer Matrixfrage einige Teilfragen nicht beantwortet wurden?

Eine Lösung mit Bedingungen setzten bzw. Relevanzgleichungen ist aus meiner Sicht zu kompliziert

Also "Bedingungen" lassen wir sowieso außen vor; aber ohne den Expression Manager wirst Du nicht auskommen. Dieser ist ja nach einer gewissen Einarbeitung sehr flexibel und einfach anzuwenden.


Ich denke jetzt nur laut.
1. Lösung, die schnelle, einfache.
Mache alle Fragen zu Pflichtfragen mit der selbst vergebenen Option "keine Angabe".
Wenn Du dieser einen festen Code (z.B. 99) gibst, kannst Du einfach testen, ob alles beantwortet wurde.
Mit der Funktion "countif"

Dann kannst Du nämlich die Einfachnennungen, Matrizen summieren mit
{countif("99",Q1,that.Q2,that.Q3)}
Und wenn Mehrfachnennungen dabei sind, kommt dieses dazu.
{sum(countif("99",Q1,that.Q2),if(Q3_SQ099=="Y",1,0))}

Wenn diese Summe 0 ist, sind alle Fragen beantwortet.

2. Die m.E. unschönere.
Fragen sind nicht Pflichtfragen.
Bei Einfachnennungen kannst Du nur testen, ob eine Frage leer ist oder nicht, also die Funktion "is_empty" benutzen.
Bei Mehrfachnennungen und Matrizen kannst Du die Funktion "count" benutzen, um die Anzahl der geklickten Optionen festzustellen.
Das ist schlecht bei Mehrfachnennungen, da hier ja mehrere Items angeklickt sein können. Daher muss hier der count etwas modifiziert werden.
Dann wäre das obige etwa
Q1: Einfachnennung
Q2: Matrix
Q3: Mehrfachnennung (hier wird, egal wie viele Optionen angewählt wurden, nur "1" addiert.
{sum(if(!is_empty(Q1),1,0),count(that.Q2),if(count(that.Q3)>0,1,0))}
Wenn hier dies Summe einem vorher festgelegten Wert (x) entspricht, sind alle Fragen beantwortet.

Diese Berechnung des Wertes kannst Du nun in eine Frage vom Typ "Gleichung" stecken, soll sie "FWert" heißen.
Dann wäre die Relevanzgleichung Deiner ein-/auszublendenden Frage eben
im ersten Fall: FWert==0
im zweiten Fall: FWert==x

Spiele es einfach einmal an einer kleinen Teststudie durch - mit allen bei Dir vorkomenden Fragetypen.
Ich habe mich ja gerade nicht mit Matrix(Text) und Matrix(Dual Scale) beschäftigt.
Ich bin leider etwas beschäftigt - bis Donnerstag. Dann mache ich noch ein Beispiel.

Viel Erfolg

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
2 years 11 months ago #215833 by holch
Ich verstehe das ganze Konzept nicht so ganz. Das kann ja nur funktionieren wenn du alles als All-In-One machst oder diese Fragen nur am Ende auftauchen. Ein bisschen mehr Info wäre also nicht schlecht.

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.
  • SarahFirefox
  • SarahFirefox's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 11 months ago #215923 by SarahFirefox
Danke Joffm!

Genau die Frage kommt ganz am Ende. Und sie soll nur angezeigt werden, so lange noch nicht alle Fragen beantwortet worden sind, es sind keine Pflichtfragen. Wenn jemand die Umfrage vollständig durchgeführt hat, wird die Frage nicht mehr angezeigt.

Ich befürchte also es muss wenn dann die "unschönere" Variante werden, denn meine Auftraggeberin möchte keine Pflichtfragen.
The topic has been locked.
  • SarahFirefox
  • SarahFirefox's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 11 months ago #215924 by SarahFirefox
Ich habe nochmal nachgeschaut, verwende eigentlich überwiegend "Mehrfachnennungen" und "Freitextfragen". Wie würde denn so eine Gleichung für z.B. eine Fragengruppe mit 2 Mehrfachnennungen und 2 Freitextfragen aussehen?

Ich verstehe das Prinzip noch nicht ganz mit den Mehrfachnennungen, wie sieht es aus wenn ich z.B. 5 Antwortmöglichkeiten habe? Ist es dann immer noch:

{sum(if(count(that.Q1)>0,1,0),if(count(that.Q2)>0,1,0))}

Wäre dann mein vorgegebener Summernwert 2?

Liebe Grüße,
Sarah
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
2 years 11 months ago #215928 by Joffm
Ja,
unabhängig von der Anzahl der angeklickten Optionen in der Mehrfachennung wird entweder 1 addiert (falls überhaupt etwas geklickt wurde)
Denn diese Funktion sagt ja nichts anderes als

Summiere((Wenn die Anzahl der Klicks in Q1 > 0 ist, nimmst Du als Summand eine "1", ansonsten eine "0"),(Wenn die Anzahl der Klicks in Q2 > 0 ist, nimmst Du als Summand eine "1", ansonsten eine "0"),...).
Also wird irgendwie so etwas summiert: 1+0+0+1+1+0+...
Damit weißt Du also genau, wie viele der Mehrfachnennungen nicht leer gelassen wurden.

Freitextfragen sind im Grunde so nicht zu bearbeiten.
Wie willst Du entscheiden, ob eine Frage beantwortet wurde.
Indem sie leer gelassen wurde? Das wäre schön, dann könnte man diese zur Summierung hinzunehmen mit "if(!is_empty(QX),1,0)".
Nur werden sich Deine Teilnehmer nicht daran halten. Es kann - und wird - vorkommen, dass jemand "---" eingibt, oder "nichts", oder "weiß nicht". Dann ist die Frage nicht mehr leer.
Das könntest Du dann noch umgehen, indem Du auf die Länge des eingegebenen Textes testest. Alles, was weniger als 20 Zeichen enthält, gilt als "nicht beantwortet".
Da musst Du dann für Dich entscheiden, wie Du solche Fälle berechnen willst.

Und schicke dann einen lss Export eines Prototypen Deiner Umfrage.
Dann können wir besser helfen.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose