Hallo,
noch ein bisschen mehr im Handbuch geschmökert, und Du hättest das Entscheidende gefunden.
[url]
www.limesurvey.org/manual/ExpressionScri...ion/en#Usage_of_NAOK
[/url]
Der Knackpunkt ist: Die ausgeblendeten Teilfragen sind gar nicht vorhanden, sie sind einfach nicht definiert; und um dies zu umschiffen, benutzt man NAOK.
Daher funktionieren auch Deine Versuche mit "is_empty", "is_nan" und Konsorten nicht; die Variable ist schlichtweg nicht vorhanden. In php würde man wohl "isset" benutzen.
Also: Auf geht's.
Summierung der Matrizen:
Man sollte nicht mithilfe des "+"-Operators addieren.
Durch dessen Ambivalenz (Addition von Zahlen - Verketten von Texten) KANN es in pathologischen Fällen dazu kommen, dass 12+34 = 1234 (und nicht 46) ist.
In den allerallermeisten Fällen erkennt php, was gemeint ist; aber es ist schon etliche Male in die Hose gegangen, und es gab eine neue Frage im Forum.
Also besser die Funktion "sum()" benutzen.
Außerdem hast Du hier die Möglichkeit, die Variable "that" einzusetzen.
Diese Variablen sind überaus mächtig, so dass man durch geschickte Codierung der Teilfragen zu sehr eleganten und kurzen Lösungen kommen kann.
Handbuch [url]
www.limesurvey.org/manual/ExpressionScri...2%80%9Ethat%E2%80%9C
[/url]
Dann verkürzen sich beide Funktionen zu:
knownFromScore:
{sum(that.toolsKnownFrom.NAOK)}
accountTypesScore:
{sum(that.toolsAccountTypes.NAOK)}
dataPrivacyScore würde ich die Funktion "sum()" benutzen.
{sum(knownFromScore,accountTypesScore)}
Ein Letztes: Du hast die "Bewerungswerte" eingeschaltet, benutzt sie aber nicht. Willst Du sie irgendwie benutzen?
Im Grunde benötigt man sie m.E. nur, wenn
- es negative Scorewerte geben soll
- mehrere Codes denselben Scorewert bekommen sollen
Ansonsten reicht es völlig, die Codes zu benutzen.
Joffm