Welcome to the LimeSurvey Community Forum

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

Summenbildung der Antworten aus einer Arrayfrage mit aktivem Filter

  • hixmops
  • hixmops's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 week 3 hours ago #270466 by hixmops
Bitte helfen Sie uns, Ihnen zu helfen und füllen Sie folgende Felder aus:
Ihre LimeSurvey-Version: 6.14.0
Eigener Server oder LimeSurvey-Cloud: Cloud
Genutzte Designvorlage: fruity twenty three
==================
Hallo zusammen,

seit Anfang der Woche wühle ich mich durch das Manual und das Forum und konnte viele meiner Fragen dadurch bereits beantworten. Jetzt stehe ich aber trotz meines Software-Entwicklungs-Hintergrunds vor einem Problem, welches ich nicht nachvollziehen kann.

Zum Kontext: es geht um eine Risikobewertung des Einsatzes von KI in Unternehmen. Ich möchte mit meiner Umfrage einen Risiko-Score ermitteln. Je nach Antwort vergebe ich einen höheren oder niedrigeren Zahlen-Wert und am Ende soll ein Gesamtwert herauskommen.

Wo ich nicht weiterkomme, ist folgendes Szenario:
Eine Multiple-Choice Frage ermittelt die eingesetzten Tools, z.B. ChatGPT, Claude, Midjourney etc. incl. Other Option.
In zwei folgenden Array Fragen soll abgefragt werden, woher man die genutzten Tools kennt und ob man sie mit einem privaten oder geschäftlichen Account, kostenlos oder kostenpflichtig benutzt. Je nach Antwort schätze ich das Risiko der Verwendung als höher oder niedriger ein.
Alle drei Fragen haben die gleichen Subquestion-Codes und der Array Filter incl. other Option ist korrekt eingestellt und funktioniert.
Als Codes für die Antwortoptionen der Array Fragen vergebe ich meine Risikowerte als Ganzzahl.

In einer bzw. zwei Equation Fragen möchte ich nun die Werte der Antworten aus den Array-Fragen aufsummieren. Das funktioniert leider nur, wenn ich alle Tools anhake. Sobald ich auch nur eins weglasse, ist meine Summe immer 0.

Ich habe verschiedene Ansätze mit ES versucht: Test auf !is_null, Test auf !is_empty, Test auf !is_nan, aber nichts davon geht auf "true"

In dem angehängten lss rechne ich zum Testen in der ersten Equation aktuell nur mit den ersten 3 Optionen/Tools. Die zweite Equation nutzt noch alle Subquestions zur Aufsummierung.
Am Ende ist ein Textdisplay drin, welches ich zum Debuggen im Preview nehme. Dort kann man gut sehen, dass die einzelnen Werte der sichtbaren Antworten korrekt ermittelt werden, aber sobald ich eine der ersten drei weglasse, wird die Gesamtsumme 0. Dort habe ich auch getestet, ob die Variablen null, empty oder NaN sind.

Wie bekomme ich also die Summe der Risikowerte aller genutzten Tools aus den Arrayfragen raus?

Vielen Dank für eure Hilfe!

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 week 2 hours ago #270467 by Joffm
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

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

Please Log in to join the conversation.

  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 week 2 hours ago - 1 week 2 hours ago #270468 by holch
Schuss ins Blaue ohne deine LSS gesehen zu haben: Vermutlich musst du .NAOK ("No answer = OK") anhängen. Vermutlich stört sich LS an den fehlenden Werten beim Rechnen.

Wenn ich etwas mehr Zeit habe, schaue ich mir auch mal die LSS an.

[edit]Joffm war mal wieder schneller und er hat sich auch die LSS angesehen und bestätigt, dass es am NAOK lag und hat dir das gleich auch noch schön erleutert. Nix anderes habe ich von ihm erwartet. :-)

Help us to help you!
  • Provide your LS version and where it is installed (own server, uni/employer, SaaS hosting, etc.).
  • Always provide a LSS file (not LSQ or LSG).
Note: I answer at this forum in my spare time, I'm not a LimeSurvey GmbH employee.
Last edit: 1 week 2 hours ago by holch.

Please Log in to join the conversation.

  • hixmops
  • hixmops's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 week 1 hour ago #270469 by hixmops
Hallo Joffm,

vielen Dank für die schnelle und ausführliche Antwort.

Ich bin jemand, der am Besten von konkreten Beispielen lernt und mit den Erklärungen im Manual zu NAOK und den that und self Variablen habe ich den Zusammenhang zwischen deren Funktion und meinem Problem nicht herstellen können. Irgendwann sieht man die Lösung vor lauter Problemen nicht mehr :)
Ich habe mir zwar irgendwie gedacht, dass die Variablen nicht existieren, konnte aber keine passende Funktion dafür finden.

Zu den Bewertungswerten:
Ich hatte beim Stöbern durch die Ressourcen zunächst die Assessment-Funktion gefunden, um überhaupt meine Risikobewertung vorzunehmen. Später bin ich dann auf einen Forenbeitrag gestoßen, wo es hieß, dass diese Funktion sehr alt ist und man besser nur mit ES arbeitet. Außerdem bin ich mit den Assessment Werten bei den Multiple Choice Fragen schon an meine Grenzen gestoßen. Ich brauche sie also nicht mehr. Gibt es eine Möglichkeit sie wieder abzustellen?

Nochmals vielen Dank für die schnelle Hilfe!

Please Log in to join the conversation.

Moderators: holchJoffmtpartner

Lime-years ahead

Online-surveys for every purse and purpose