Hallo,
ich finde nach dem Update nicht mehr die Möglichkeit, die Antwort-Vorgabewerte bzw. die Standard-Antwort bei einer Frage vorzugeben
Bist Du sicher, dass es dies bei diesem Fragetyp (und allgemein Matrizen) jemals gegeben hat? Ich nicht.
Diese von Dir gewünschte Vorbesetzung musst Du in einer vorgeschalteten Frage vom Typ "Gleichung" bewerkstelligen.
Sei der Fragecode der Matrix "M1" mit den Codes der y-Achse "Y001", "Y002", ... und analog ie Codes der x-Achse "X001", "X002", ...
und außerdem der Code von "Keine Angabe" = "X008"
Dann benutzt Du diese Gleichungsfrage nicht - wie zum Beispiel bei der Erzeugung einer Zufallszahl - um eine neue Variable zu erzeugen, sondern um Werte zu einer bestehenden Variablen zuzuweisen.
Das sieht dann so aus; alles in den Fragetext der Gleichungsfrage:
{M1_Y001_X008="1"}
{M1_Y002_X008="1"}
{M1_Y003_X008="1"}
Du weißt sicher, dass in der Matrix(Zahlen) mit Ankreuzfeldern "gewählt" als "1" gespeichert wird.
Das ist aber nur die Rohform. Es könnte ja sein, dass die Teilnehmer im Fragebogen zurückgehen können und wieder über diese Zuweisung gehen. Dann würde die Matrix wieder vorbesetzt, obwohl bereits Daten eingetragen waren.
Um dies zu verhindern, kommt dasselbe Konstrukt zum Einsatz, das auch bei der Erzeugung von Zufallszahlen benutzt wird "Weise nur dann zu, wenn die Teilfrage noch leer ist, sonst lasse es, wie es ist"
Also:
{M1_Y001_X008=if(count(that.M1.sq_Y001)==0,"1",M1_Y001_X008)}
{M1_Y002_X008=if(count(that.M1.sq_Y002)==0,"1",M1_Y002_X008)}
...
Zur Bedeutung dessen, lies einmal das Handbuch über
[url]
www.limesurvey.org/manual/ExpressionScri....22that.22_variables
[/url]
Und jetzt wird auch klar, warum ich die y- und x-Achse unterschiedlich kodiert habe.
Zum zweiten Teil - der Exklusivität der "KA"-Antwort verweise ich auf mein Tutorial über Matrizen, Kapitel 8.
Einfach hier im deutschen Teil etwas herunterscrollen.
Dort ist die javascript-Lösung.
Die built-in Lösung ist natürlich die Fragenvalidierung.
Was muss gültig sein?
Wenn die Antwort "KA" ist, darf die Anzahl der Antworten nur 1 sein, ODER die Antwort ist nicht "KA".
Dies für alle Zeilen.
Also
((count(self.sq_Y001)==1 AND self.sq_Y001_X008==1) OR self.sq_Y001_X008!=1) AND
((count(self.sq_Y002)==1 AND self.sq_Y002_X008==1) OR self.sq_Y002_X008!=1) AND ...
Joffm
Bei weiteren Fragen schicke diese relevanten Fragen als lss-Export