Welcome to the LimeSurvey Community Forum

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

Summierung einzelner Teilfragen

  • pia0501
  • pia0501's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 year 7 months ago #240634 by pia0501
Summierung einzelner Teilfragen was created by pia0501
Bitte helfen Sie uns, Ihnen zu helfen und füllen Sie folgende Felder aus:
Ihre LimeSurvey-Version: ich weiß leider nicht welche Version das ist, ich nutze das von meiner uni zur Verfügung gestellte limesurvey
LimeSurvey-Cloud: 
Genutzte Designvorlage: fruity
==================
Hallo,
in meiner Umfrage habe ich 7 Fragen mit jeweils 9 Teilfragen (a-i). 
Die Teilnehmenden sollen pro Frage insgesamt 10 Punkte an die Teilfragen vergeben, je nachdem als wie zutreffend sie die Teilfrage finden. Je zutreffender die Teilfrage, desto höher die Punktzahl. Um sicherzustellen, dass nicht mehr als 10 Punkte verteilt werden, habe ich das Frageformat Mehrfache numerische Eingabe gewählt. Die Teilnehmenden können nur zur nächste Frage gelangen, wenn genau 10 Punkte verteilt wurden.
Nun zu meiner Frage:
Ich möchte die Punkte, die die Teilnehmenden den einzelnen Teilfragen gegeben haben, nach einem bestimmten Muster summieren. Am Ende erhalten die Teilnehmenden dann abhängig von der Punkte-Verteilung eine Nachricht.
Beispiel:
Teilfrage 1-7 haben jeweils 9 Teilfragen (a-i). Zur Auswertung sollen dann die Teilfragen wie folgt addiert werden:
1g+2i+3a+4e+5b+6c+7h 
1e+2b+3c+4g+5e+6g+7a
1i+2e+3d+4d+5g+6a+7g
(etc.)
die höchste Summe (das ist natürlich individuell) soll den Teilnehmenden letzten Endes ausgegeben werden.
Ist diese Art der direkten individuellen Ergebnis Auswertung mit limesurvey überhaupt möglich?

Vielen lieben Dank für die Hilfe!!!
Pia

Please Log in to join the conversation.

  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
1 year 7 months ago #240637 by Joffm
Replied by Joffm on topic Summierung einzelner Teilfragen
Hallo, Pia,
dies ist nicht nur möglich, sondern sogar ziemlich leicht.
In LimeSurvey gibt es ja einen Fragetyp "Gleichung"
Damit "erschlägst" Du die Sache.
Und Du hast ja eigentlich schon genau hingeschrieben, was Du tun musst.
Du summierst die Werte auf.

Dazu kann man jetzt das Plus-Zeichen benutzen oder die eingebaute Funktion "sum(a,b,c,...)"
Das Plus-Zeichen hat den Nachteil, dass damit auch Texte verkettet werden. Dann könnte in einem ganz schlimmen Fall eine gewünschte Addition (32+43 -> 75) in einen Text verwandelt werden (32+43 -> 3243). Nicht wahrscheinlich aber möglich.

Gut die Funktionen - wir benötigen noch etwas - findest Du hier
[url] manual.limesurvey.org/ExpressionScript_-...mplemented_functions [/url]

So, jetzt zur Praxis:
Lege so viele Fragen vom Typ "Gleichung" an, wie benötigt, d.h. die Anzahl Deines "etc."
Nennen wir sie einfach einmal "sum1", "sum2", ...
Dann schreibst Du in den Fragetext von "sum1"
{sum(Q1_g.NAOK,Q2_i.NAOK,Q3_a.NAOK,Q4_e.NAOK,Q5_b.NAOK,Q6_c.NAOK,Q7_h.NAOK)}
und "sum2"
{sum(Q1_e.NAOK,Q2_b.NAOK,Q3_c.NAOK,Q4_g.NAOK,Q5_e.NAOK,Q6_g.NAOK,Q7_a.NAOK)}

Ich habe jetzt einmal eine korrekte Syntax Deiner Fragen/Teilfragen benutzt.
Für die Bedeutung von .NAOK lies ebenfalls das Handbuch.
Kurz gesagt: Falls einer der Summanden leer ist (falls keine Pflichtfrage), würd die Summe nicht definiert sein; NAOK hebt dies auf und summiert einfach den Rest.

Gut, jetzt hast Du Summen.
Und für die höchste dieser Summen gibt es natürlich auch eine Funktion ("max")
Wenn Du also nur diese höchste Summe anzeigen willst, genügt eine Frage vom Typ "Textanzeige" mit etwas wie
Ihre maximal erreichte Summe ist: {max(sum1,sum2,sum2,...)}

Wenn Du allerdings wissen willst, welche der Einzelsummen die größte ist, müssen wir noch etwas mehr investieren; aber auch nicht so viel.
Allerdings liegt es dann an Dir, was passieren soll bei Gleichstand.

Falls Du noch gar keine Ahnung von Gleichungen hast, kannst Du zum Beispiel einmal mein (noch kleines) Tutorial 4. Gleichungen, Zu- und andere Fälle" lesen.
Einfach hier im deutschen Teil herunterscrollen. Es ist sicherlich auf einer der ersten 5 Seiten.

So, jetzt lege einmal los.
Bei weiteren Fragen dazu, sende einen lss Export Deines Werkes.

Bis dann
Joffm

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

Please Log in to join the conversation.

  • pia0501
  • pia0501's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
1 year 7 months ago #240670 by pia0501
Replied by pia0501 on topic Summierung einzelner Teilfragen
Hallo,
vielen Dank für die Antwort. Meine Teilfragen konnten jetzt erfolgreich summiert werden.
Ich hätte gerne, dass limesurvey mir nur das höchste Ergebnis der aufsummierten Teilfragen gibt.
Beispiel:
1)    1g+2i+3a+4e+5b+6c+7h  = 30
2)    1e+2b+3c+4g+5e+6g+7a = 10
3)    1i+2e+3d+4d+5g+6a+7g = 15
(etc.)
Hier möchte ich, dass mir limesurvey nur das 1) Ergebnis, die 30 als höchstes Ergebnis ausgibt.
Jede der 9) Teilfragen-Summen ist eine Kategorie. Am Ende soll nur die höchste in einem Textfeld dargestellt werden. 
Wenn die Teilnehmenden in 1) das höchste Ergebnis erzielen, soll in einer Textfeld-Frage erscheinen: Sie haben in der Kategorie XY die meisten Punkte erzielt, sie können demnach dem Teamtyp Koordinator zugewiesen werden.

Kann ich das so einstellen, dass je nach dem welche der 9) Teilfragen-Summen das höchste Ergebnis hat, ein unterschiedlicher Text kommt?
Bei Gleichstand sollen beide höchste Summen angezeigt werden.

Mein Gedanke war:
--> 9 Antworten für die jeweils möglichen Teamtypen erstellen (mit jeweils "Sie haben in der Kategorie XY die meisten Punkte erzielt, sie können demnach dem Teamtyp XYzugewiesen werden")
--> in jede der Antworten eine Logik-Funktion einbauen, dass diese Antwort nur angezeigt wird, wenn die Summe der 9)Teilfragen-Summen in dieser Spalte die höchste war

Meine Fragen:
--> welche Logik-Formel brauche ich, dass die Antwort nur angezwigt wird, wenn die Teilfragen-Summe die höchste war?
--> wie stelle ich ein, dass limesurvey bei Gleichstand mehrere anzeigt?
--> wie gibt mir Limesurvey die höchste Summe aus? Mit max(sum1,sum2,sum3) kam eine falsche Zahl raus


Vielen Dank für die Hilfe!!

Liebe Grüße und ein schönes Wochenende
Pia


  

File Attachment:

File Name: limesurvey...9661.lss
File Size:81 KB
  • Please Log in to join the conversation.

    • Joffm
    • Joffm's Avatar
    • Offline
    • LimeSurvey Community Team
    • LimeSurvey Community Team
    More
    1 year 7 months ago #240672 by Joffm
    Replied by Joffm on topic Summierung einzelner Teilfragen
    Hallo, Pia,
    nur eine schnelle Rückmeldung

    --> welche Logik-Formel brauche ich, dass die Antwort nur angezwigt wird, wenn die Teilfragen-Summe die höchste war?

    Das war meine Formulierung "Da musst Du etwas mehr investieren". Dies steht aber auch im Tutorial.
    Im Grunde vergleicht man jede Summe mit der Maximalzahl. Und wenn die beiden Werte gleich sind, haben wir sie erwischt.

    --> wie stelle ich ein, dass limesurvey bei Gleichstand mehrere anzeigt?

    Ergibt sich aus dem vorigen, da man ja testet "Ist dieser Wert gleich dem Maximalwert?" Wenn JA, wird gezeigt.

    --> wie gibt mir Limesurvey die höchste Summe aus? Mit max(sum1,sum2,sum3) kam eine falsche Zahl raus

    Nee, das ist schon richtig so. Da wirst Du ein kleines Fehlerchen eingebaut haben. 

    Langer Rede, kurzer Sinn: Ich muss jetzt ein bisschen einkaufen.
    Später schaue ich mir deine lss dann einmal an.

    Bis dann
    Joffm

     

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

    Please Log in to join the conversation.

    • Joffm
    • Joffm's Avatar
    • Offline
    • LimeSurvey Community Team
    • LimeSurvey Community Team
    More
    1 year 7 months ago #240674 by Joffm
    Replied by Joffm on topic Summierung einzelner Teilfragen
    So, nach dem ersten Anschauen:
    Deine Funktionen können nicht funktionieren, da Du in die Gleichungsfrage nicht nur die Funktion, sondern auch noch jede Menge HTML-Schrott eingefügt hast.
    Schau Dir die Fragen einmal im Quellcode-Modus an!
    Z.B.
    Code:
    <span style="font-size:13.0pt"><span style="font-family:&amp;quot;Arial&amp;quot;,sans-serif"><span style="color:blue">{sum(q1_i.NAOK,q2_e.NAOK,q3_d.NAOK,q4_d.NAOK,q5_g.NAOK,q6_a.NAOK,q7_g.NAOK)}</span></span></span><br /><br />
    Dann wird nämlich das Ganze als Ergebnis gespeichert und die "max"-Funktion hat ein Problem.

    Gut, ich habe die Umfrage einmal etwas umstrukturiert.
    1. Ich habe eine separate Gruppe angelegt, in welcher gerechnet wird.
    2. Damit man nicht so viele einzelne Gleichungsfragen hat, habe ich diese in eine einzelne Gleichungsfrage gesteckt.
    Dazu habe ich einen "Container" angelegt "arPool", dem die einzelnen Werte zugewiesen werden.
    3. Dann wird das Maximum errechnet (eMax)
    4. Zuletzt wird der Typ / werden die Typen mit der Maximalpunktzahl bestimmt. Da es ja mehrere sein können werden sie mithilfe der "list"-Funktion aneinandergehängt.
    5. In Result ist nun eine rudimentäre Anzeige.
    Du siehst aber gut das "tayloring" des Textes, je nachdem, ob es nur einen Typ oder mehrere gibt.
    Ich habe einfach getestet, ob im Ergebnis der "list"-Funktion ein Komma ist (dann sind ja mehrere da).

    Hier mein Vorschlag.
     

    File Attachment:

    File Name: limesurvey...8966.lss
    File Size:91 KB

    Damit die Eingabe zum Testen schneller ging habe ich die Fragen nicht als Pflichtfrage angelegt.
    Solltest Du auch nicht, Auf die Anzahl 10 wird ja getestet. Warum soll der Teilnehmer dann in alle anderen Felder eine "0" eingeben?

    Bis dann
    Joffm


     

    Volunteers are not paid.
    Not because they are worthless, but because they are priceless
  • Please Log in to join the conversation.

    • pia0501
    • pia0501's Avatar Topic Author
    • Offline
    • New Member
    • New Member
    More
    1 year 6 months ago #240792 by pia0501
    Replied by pia0501 on topic Summierung einzelner Teilfragen
    Hallo,
    vielen lieben Dank für die umfassende Hilfe! Das ist wirklich toll geworden und hat mir sehr viel weiter gebracht.
    Ich hätte jetzt nur noch eine Frage und zwar, ist es möglich, dass man bei den einzelnen 7 Fragen noch einstellt, dass genau 10 Punkte vergeben werden, bevor man weiterklicken kann? Aktuell kann ich schon weiter, wenn ich nur 7 Punkte verteilt habe.
    Vielen Dank!
    Liebe Güße
    Pia

    Please Log in to join the conversation.

    • Joffm
    • Joffm's Avatar
    • Offline
    • LimeSurvey Community Team
    • LimeSurvey Community Team
    More
    1 year 6 months ago - 1 year 6 months ago #240793 by Joffm
    Replied by Joffm on topic Summierung einzelner Teilfragen
    Ja, klar,
    das machst Du mit der Validierung.
    Ich glaube, in meinem Beispiel steht dort "sum(self.NAOK) le 10"
    Also "kleiner oder gleich 10" 
    Setze es einfach auf "gleich 10"

    Nachteil dabei ist (es sieht einfach nicht schön aus) , dass die Frage sofort mit einer Fehleranzeige startet; solange nicht 10 Punkte vergeben sind, ist die Bedingung eben nicht erfüllt.

    Und Du solltest auch die Eingabe negativer Zahlen verbieten; 1,3,4,5,-1,-2 ergibt ja auch 10.

    Joffm

    P.S.
    Statt der Validierung könntest Du auch in den Einstellungen "Gleich Summenwert" auf 10 setzen und meinetwegen auch noch "Minimalwert" auf 0.
    Ich finde dies aber nicht optimal, weil dann einfach zu viel an Tipps dort angezeigt wird. Außerdem nützt "Hinweis verstecken" nichts, da ja - wie gesagt - mit einem Fehler gestartet wird; dann wird der Tipp aber auf jeden Fall angezeigt.

    Volunteers are not paid.
    Not because they are worthless, but because they are priceless
    Last edit: 1 year 6 months ago by Joffm.

    Please Log in to join the conversation.

    Moderators: holchJoffmtpartner

    Lime-years ahead

    Online-surveys for every purse and purpose