Unipark
Navigation
  • Forum
  • Registration
  • Login
Search

Forum › Forums › Unipark › Dynamische Liste kombiniert mit Plausicheck

  • This topic is empty.
Viewing 5 posts - 1 through 5 (of 5 total)
  • Author
    Posts
  • 30. June 2022 at 20:00 #1377
    Marie Moritz
    Guest

    Hallo,

     

    ich nutze eine dynamische Liste um in der darauf folgenden Matrixfrage nur die ausgewählten Antworten angezeit zu bekommen. Mit meinem Plausicheck möchte ich dann sichergehen, dass auch für alle Zeilen etwas angekreuzt wurde.

    Ich hatte in einem früheren Post eine Lösung mit dem PlausicheckCode ((sgn(abs(…) gefunden. Den nimmt er aber bei mir nicht.

     

    if (( sgn(abs(v_2242) + sgn(abs(v_2243) + sgn(abs(v_2245) + sgn(abs(v_2246) + sgn(abs(v_2247) + sgn(abs(v_2248) + sgn(abs(v_2249) + sgn(abs(v_2250) + sgn(abs(v_2244) + sgn(abs(v_2251) + sgn(abs(v_2252) + sgn(abs(v_2253) + sgn(abs(v_2254) + sgn(abs(v_2255) + sgn(abs(v_2256) + sgn(abs(v_2257))

     

    print “Fehler”

     

     

    Kann mir bitte jemand einen alternativen Code nennen, oder eine andere Lösung.

    30. June 2022 at 20:00 #1378
    Michael T
    Guest

    Die sgn Funktion sagt mir nichts, aber du hast deutlich mehr geöffnete wie schließende Klammern. Quasi bei jedem sgn(abs(x) fehlt die schließende Klammer für sgn, das sollte vermutlich so aussehen sgn(abs(x))

     

    Außerdem fehlt die Bedingung, denn in dem “if(…)” addierst du nur werte, ohne eine Bedingung zu stellen. Gehen wir also mal davon aus, dass du die Fehlermeldung ausgeben möchtest, wenn die Summe der Werte 3 übersteigt, würde das mit dem

     

    if ( ( sgn(abs(v_2242)) + sgn(abs(v_2243)) + sgn(abs(v_2245)) + sgn(abs(v_2246)) + sgn(abs(v_2247)) + sgn(abs(v_2248)) + sgn(abs(v_2249)) + sgn(abs(v_2250)) + sgn(abs(v_2244)) + sgn(abs(v_2251)) + sgn(abs(v_2252)) + sgn(abs(v_2253)) + sgn(abs(v_2254)) + sgn(abs(v_2255)) + sgn(abs(v_2256)) + sgn(abs(v_2257)) ) > 3 )

    print “nö”

    30. June 2022 at 20:00 #1379
    Marie Moritz
    Guest

    Hallo Michael,

     

    danke, zumindest nimmt er jetzt den Code. Aber die Bedingung stimmt noch nicht.

     

    In der vorhergehenden Liste können die Befragte eine beliebige Zahl an Akteuren auswählen. In der Frage sollen sie diese dann in einer 5erSkala bewerten. Da ich hier für die Variablen kein Kreuz bei DAC machen kann wollte ich so sichergehen, dass alles ausgefüllt wird.

    Der Post aus dem ich das habe ist dieser: https://community.questback.com/s/question/0D53X00006fKGKrSAO/dynamische-liste-kombiniert-mit-plausicheck-max-2-angaben

    30. June 2022 at 20:00 #1380
    Michael T
    Guest

    Hmmm… dass dürfte etwas Fleißarbeit werden… Denn die einzige Möglichkeit, die ich sehe, ist, für jedes Listenelement einen eigenen Plausicheck anzulegen…

     

    Gehen wir der Einfachheit wegen davon aus, dass deine Liste nur fünf Element enthält (a, b, c, d und e) und die Mehrfachauswahl der Akteure diese a in die Variable v_1 bis v_5 speichert.

     

    Die nachgestellte Matrixfrage zeigt, wenn du als Antwortkatalog die Liste wählst, nur die zuvor ausgewählten an. Du kannst in der Frage aber nicht sehen, welche Variablen damit verbunden sind (zumindest hab ich es gerade eben nicht gesehen). Du gehst also wieder eine Stufe nach oben in den Fragebogen-Editor mit der Fragenübersicht. In der Zeile mit der Akteur-Matrix-Frage guckst du rechts unter Info ist ein großes V, beim überfahren mit der Maus werden dir die Variablennamen angezeigt (gehen wir von v_6 bis v_10) aus. Sollte die Liste randomisiert sein, solltest du die Zuordnung auf jeden Fall überprüfen!

     

    Dann gehst du auf die Seite mit der Akteur-Matrix-Frage und legst die Plausichecks an. Die Bedingung für die Meldung für den Wert a wäre dann beispielsweise (v_1 = 1 -> v_1 wurde angekreuzt, v_6 <= 0 -> v_6 wurde nichts ausgewählt, der kleinste Wert ist 1 und der höchste Wert x)

    if ( v_1 = 1 and v_6 <= 0 ) print “Bitte bewerten Sie den ersten Akteur”;

    oder für den Wert b aus der Liste

    if ( v_2 = 1 and v_7 <= 0 ) print “Bitte bewerten Sie den zweiten Akteur”;

     

    Wenn du keine individualisierten Fehlermeldungen benötigst, kannst du dir die Arbeit etwas erleichtern und das ganze in einem einzigen Plausicheck machen:

    if ( (v_1 = 1 and v_6 <= 0) or (v_2 = 1 and v_7 <= 0) )

    print “Sie haben nicht alle Akteure bewertet”;

     

    Vielleicht (und ich hoffe, dass es so ist) gibt es aber auch eine deutlich elegantere Lösung, welche nicht Anpassungen an allen Ecken und Enden erfordert, wenn die Liste beispielsweise um einen Eintrag ergänzt wird (auch wenn dass auf deinen Fall vielleicht nicht zutrifft).

    30. June 2022 at 20:01 #1381
    Marie Moritz
    Guest

    Uff, ok.

    Danke 🙂

  • Author
    Posts
Viewing 5 posts - 1 through 5 (of 5 total)
  • You must be logged in to reply to this topic.

Lost your password?

UNIPARK

QUICK LINKS

  • Registration
  • Login
  • Search
© Copyright 2023 UNIPARK