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]
www.limesurvey.org/manual/ExpressionScri...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]
www.limesurvey.org/manual/ExpressionScri...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]
www.limesurvey.org/manual/ExpressionScri...ons_and_Relevance.3F
[/url]