Welcome to the LimeSurvey Community Forum

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

Bedingung für Fragengruppe - undefinierte Variable

  • mancha
  • mancha's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 months 2 weeks ago #245617 by mancha
Ihre LimeSurvey-Version: Lime Survey Community Edition Version 5.4.14+221205
Eigener Server oder LimeSurvey-Cloud: Cloud
Genutzte Designvorlage: Eigene vom Arbeitgeber
==================
Hallo zusammen, 

bisherige Forenbeiträgen und das Handbuch konnten mir leider nicht helfen oder ich habe die Lösung nicht gefunden. 
Ich benötige Hilfe beim Schreiben von Bedingungen für Fragengruppen. 

Folgendes Szenario: 
Fragegruppe 1 enthält 5 Fragen mit Mehrfachauswahl, jede dieser fünf Fragen hat eine Antwort, die ich als exklusive Option definiert habe.
Fragegruppen 2-6 sollen komplett übersprungen werden, wenn bei allen Fragen aus Fragegruppe 1 die exklusive Option ausgewählt wurde.
Fragegruppe 7 soll immer angezeigt werden. 

Mein Lösungsansatz war folgende Bedingung: 
E01G!=G0 and E02B!=B0 and E03L!=L0 usw. 
E01G usw. sind die Codes der Fragen aus Fragegruppe 1 und G0 usw. sind die Codes der exklusiven Optionen dieser Fragen.
In der Fragengruppenübersicht wird mir angezeigt, dass es sich um undefinierte Variablen handelt und das verstehe ich nicht. In Beispielen im Forum und Erklärvideos im Internet wird nach meinem Verständnis einfach der Fragencode und Antwortcode verwendet, auch wenn sie aus einer anderen Fragengruppe kommen, und es funktioniert. Aber bei mir nicht, irgendwas mache ich wohl falsch, aber ich komme nicht drauf. Habe schon nach Leerzeichen gesucht und ob ich vllt. 0 und O vertauscht habe, aber das trifft alles nicht zu. 

Könnt ihr mir helfen?

Viele Grüße :)
 

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
8 months 2 weeks ago - 8 months 2 weeks ago #245619 by Joffm
Hallo,
klar können wir.
Im Grunde ist es nicht besonders kompliziert.

Aber wir wollen nicht selbst - nur laut der Beschreibung - eine Umfrage erstellen (die dann doch ein bisschen anders ist), um Dein Design nachzuvollziehen.

Schicke bitte den lss-Export der Umfrage.

Joffm 
​​​​​​
So, jetzt noch ein Zusatz - nicht mehr vom mobilen Gerät.

Du siehst ja die Fehler in der Bedingung.
1. Deine Codes "G0", "B0" sind doch Texte. Also müssen sie in Anführungszeichen eingeschlossen sein.

2. Ich denke, Deine Fragen sind Mehrfachnennungsfragen. Dann ist die gesamte Syntax schon nicht richtig.
In Mehrfachnennungsfragen hast Du ja eine Anzahl Teilfragen, die "gewählt" bzw. "nicht gewählt" sein können.
D.h. Du musst auf die Antwort der Teilfrage testen, ob diese "Y" ist.

3. Dann könnte die Bedingung aussehen 
sumifop("==","Y",E01G_G0,E02B_B0,E03L_L0,E04K_K0,E05IR_IR0)<5

Aber wie gesagt, ich habe keine Ahnung wie das Design Deiner Umfrage ist.
 

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 8 months 2 weeks ago by Joffm.
The following user(s) said Thank You: mancha

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
8 months 2 weeks ago #245626 by holch
Wie Joffm: Schick uns doch einen Prototyp dieser Studie (nur die relevanten Fragen, dürfen auch anonymisiert sein) als LSS (NICHT LSG oder LSQ). Dann schauen wir uns das an. Aber ich vermute genau wie Joffm, dass du eben Fragen vom Typ Mehrfachantwort verwendest.

Off topic:

5.4.14+221205


Würde den Arbeitgeber mal darauf ansprechen, dass die Software seit über 7 Monaten kein Update mehr bekommen hat. :-)

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

The following user(s) said Thank You: mancha

Please Log in to join the conversation.

  • mancha
  • mancha's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 months 2 weeks ago #245628 by mancha
Guten Morgen zusammen, 
danke schon mal für die Antworten. Ich anonymisiere die Umfrage und lade dann die .lss Datei im Laufe des Tages hoch. 
Viele Grüße

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
8 months 2 weeks ago #245640 by holch
Yup, einfach eine Kopie machen, alles rausschmeissen, was nicht relevant ist und dann kannst du natürlich auch die Fragen und Antwortoptionen anonymisieren, damit man keinen Schluss auf die Umfrage ziehen kann, wenn das wichtig ist.

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.

  • mancha
  • mancha's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 months 2 weeks ago #245659 by mancha
Guten Morgen zusammen, 
habe jetzt unwichtige Fragen rausgeworfen und den Rest anonymisiert. Bin gestern nicht mehr fertig geworden, deshalb gibt's die Datei jetzt erst, sorry. 
Also das Ziel ist es, dass man direkt in die Fragegruppe "Ausblick" geleitet wird, wenn in der Fragegruppe "Einleitung" bei allen Fragen die Antwort "keins" ausgewählt wird. 
Zur Info: Die Fragegruppe "Optionen" wollten wir ursprünglich als Matrixfrage darstellen, aber die tatsächlichen Antwort- und Bewertungsmöglichkeiten haben zu lange Texte, sodass wir das in die einzelnen Fragen aufgeteilt haben, dann ist es besser lesbar. 
Viele Grüße
 

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
8 months 2 weeks ago #245661 by Joffm
Hallo,
Ich will noch einmal auf Deine erste "Idee" zurückkommen, da sie zeigt, dass Du noch etwas auf Kriegsfuß mit der Variablenbezeichnung stehst.
Wie hier im Handbuch steht
[url] manual.limesurvey.org/ExpressionScript_-...code_variable_naming [/url]
wird ein Code gebildet aus (Teile in eckigen Klammern optional, je nach Fragetyp)
FragenCode[[_Teilfragencode-y-Achse]_Teilfragencode-x-Achse]
bzw. bei "Dual Matrix"
FragenCode_Teilfragencode-y-Achse_0/1 
Soll heißen:
Eine Einfachnennung benötigt eine Spalte in der Datenbank, ist damit durch den Fragencode eindeutig definiert. (z.B. Q1)
Eine Matrix bzw. Mehrfachnennung benötigt eine Spalte pro Teilfrage in der Datenbank, ist damit durch den Fragencode+Teilfragencode eindeutig definiert. (z.B. Q1_Y001)
Und eine Matrix(Texte) oder Matrix(Zahlen) benötigt pro Zelle eine Spalte; daher muss hier der Fragencode und beide Teilfragencodes angegeben werden. (z.B. Q1_Y003_X002)

Wie ich in meinem "Tutorial 4: Gleichungen, Zufall" in Kap. 5. Anhang beschrieben habe, ist es sehr hilfreich
  • die Umfrage kurz zu aktivieren
  • einige wohl definierte Daten einzugeben (soll heißen, man schreibt auf, was wo eingegeben wurde
  • die Antworttabelle anzuschauen
Dort sieht man dann als Spaltenüberschrift den gesamten QCODE und darunter die gegebenen Antworten.

Dann sieht man auch, dass bei Mehrfachnennungen eine ausgewählte Teilfrage mit "Y" codiert wird, eine nicht ausgewählte mit "".
Danach kann man die Umfrage ja wieder deaktivieren.

Und gleich in den "Begriffserklärungen" ist etwas Generelles über "Bedingungen".

Das Tutorial findest Du ungefähr auf Seite 10 hier im deutschen Teil.

Gut, jetzt endlich zu Deinem Problem.
Du hast Mehrfachnennungen; also (s.o) ist der Code "Fragencode+Teilfragencode" und Du willst wissen, ob diese Teilfrage gewählt wurde.
Also z.B. Q1_SQ003=="Y"  (Y ist ein Text, also muss es in Anführungszeichen gesetzt werden)

Was willst Du wissen? 
Wurden in allen fünf Fragen die in Frage kommenden Teilfragen ausgewählt?
Ich habe diesen Code hier einfach durchgängig "SQ099" genannt. Ich weiß nicht, warum Du so doppel-moppelst,"E02B_B0"
Dann würden die Folgegruppen nicht angezeigt; sollte aber bei einer Frage diese nicht gewählt werden, würden sie angezeigt.
Natürlich kann man das auf dem langen Weg machen 
Q1_SQ099!="Y" OR Q2_SQ099!="Y" OR Q3_SQ099!="Y" OR Q4_SQ099!="Y" OR Q5_SQ099!="Y"
Es ist übrigens eine ODER-Verknüpfung, nicht wie bei Dir anfänglich eine UND-Verknüpfung (Bei Dir müssten ja bei ALLEN Fragen ein anderer Code gewählt sein)
Heißt also: Irgendeine Frage wurde nicht mit diesem Code beantwortet.
Oder Du machst es umgekehrt
!(Q1_SQ099=="Y" AND Q2_SQ099=="Y" AND Q3_SQ099=="Y" AND Q4_SQ099=="Y" AND Q5_SQ099=="Y")
Heißt entsprechend: Es gilt nicht, dass alle Fragen mit diesem Code beantwortet wurden. Okay, das ist Schulstoff.

Aber es wird kürzer (und eleganter), wenn man sich etwas überlegt.
Wenn ich zähle, wie oft diese Teilfrage gewählt wurde, und die Anzahl ist 5, wurde sie jedesmal gewählt, und die folgenden Gruppen werden nicht angezeigt.
In den "Implementierten Funktionen"
[url] manual.limesurvey.org/ExpressionScript_-...mplemented_functions [/url]
findet man dann etwas passendes, nämlich "countif" oder auch "countifop"
"countif" wird ja dort erklärt mit
Count the number of answered questions in the list equal to the first argument

Also hätten wir dies: Zähle die Fragen der Liste, die mit "Y" beantwortet wurden
countif("Y",Q1_SQ099,Q2_SQ099,Q3_SQ099,Q4_SQ099,Q5_SQ099)
Es wird also gezählt, wie oft diese 5 Teilfragen gewählt wurden, sprich den Antwortcode "Y" haben.

Und damit haben wir sie, die Bedingung: Wenn dieses Ding kleiner als 5 ist, wird angezeigt:
countif("Y",Q1_SQ099,Q2_SQ099,Q3_SQ099,Q4_SQ099,Q5_SQ099)<5

Joffm

Was soll eingentlich diese letzte Frage in "Ausblick"?
Ich denke, die Teilnehmer, die durch den Sprung dort landeten, wissen gar nicht, worum es geht.
Wollst Du diese nicht eigentlich aus der Umfrage ausschließen?
Dann wäre eine Quote das Mittel der Wahl.
Aber das musst Du dann noch einmal sagen.


Und als Letztes: Schmeiß diesen "Steinzeit"-Bedingungs-Designer raus. Der stammt aus einer Zeit, als es noch kein ExpressionScript gab, so Version 1.90.
ExpressionScript ist viel mächtiger, flexibler, einfacher.
Ein kleiner Vergleich im Handbuch
[url] manual.limesurvey.org/ExpressionScript_-...ons_and_Relevance.3F [/url]

Volunteers are not paid.
Not because they are worthless, but because they are priceless

Please Log in to join the conversation.

  • mancha
  • mancha's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 months 2 weeks ago #245667 by mancha
Vielen Dank für die ausführliche und schnelle Antwort! Ich probiere mal ein bisschen aus und berichte dann, ob ich es hinbekommen habe. 

Was soll eingentlich diese letzte Frage in "Ausblick"?
Ich denke, die Teilnehmer, die durch den Sprung dort landeten, wissen gar nicht, worum es geht.
Wollst Du diese nicht eigentlich aus der Umfrage ausschließen?
Dann wäre eine Quote das Mittel der Wahl.
Aber das musst Du dann noch einmal sagen.

Die Frage im Ausblick ist so gestaltet, dass sie allgemein verstanden wird und beantwortet werden kann, auch wenn man am Anfang überall "keins" auswählt. Das ist nur aus der anonymisierten Umfrage nicht ersichtlich :)  

Please Log in to join the conversation.

  • mancha
  • mancha's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
8 months 1 week ago #245806 by mancha
Hallo zusammen, 
es klappt jetzt :) vielen lieben Dank! 
Vor allem die Erklärungen zur Syntax werden mir auch in Zukunft helfen. 

Liebe Grüße

Please Log in to join the conversation.

Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose