- Posts: 17
- Thank you received: 0
Welcome to the LimeSurvey Community Forum
Ask the community, share ideas, and connect with other LimeSurvey users!
Syntax-Fehler in versteckter Gleichung für Feedback
- pialu
- Topic Author
- Offline
- New Member
(LS-Version 2.62.2+170203)
- Joffm
- Offline
- LimeSurvey Community Team
- Posts: 12713
- Thank you received: 3924
ganz schnelle Antwort:
Dein If-Statement stimmt syntaxmäßig nicht.
if(Bedingung,Wahr-Teil,Falsch-Teil).
Du hast beim letzten "if" keinen "Falsch-Teil".
Falls die Frage eine Pflichtfrage ist, kannst Du Dir den letzten Teil "==7" sparen.
Das ist dann ja die einzige Möglichkeit, welche übrigbleibt; also, wenn alle anderen falsch sind.
Irgendwie so:
if(S01_SQ001 == 1, "1 gewählt", if(S01_SQ001 == 2, "2 gewählt", if(S01_SQ001 == 3, "3 gewählt", if(S01_SQ001 == 4, "4 gewählt", "5 gewählt"))))
Bis dann
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
- pialu
- Topic Author
- Offline
- New Member
- Posts: 17
- Thank you received: 0
- pialu
- Topic Author
- Offline
- New Member
- Posts: 17
- Thank you received: 0
wie kann es aber sein, dass egal, welchen Wert SM1_SQ001 erhält, als Ergebnis der Gleichung immer das letzte if ("stimme völlig zu") der Gleichung Zustimmung1 rauskommt, wenn ich beide Ergebnisse im nächsten Schritt rückmelden will?
i.S. von: "Sie haben {SM1_SQ001.shown} ({Zustimmung1.shown}) gewählt.".
Also egal ob SM1_SQ001 1,2,3,4,5,6,7 ist, Zustimmung1 ist immer "stimme völlig zu".
Die Reihenfolge der Abfrage ist:
1. Fragegruppe: SM1_SQ001, Zustimmung1
2. Fragegruppe: Das Feedback
Zustimmung1:
if(SM1_SQ001 == 1, '"stimme überhaupt nicht zu"', if(SM1_SQ001 == 2, '"stimme nicht zu"', if(SM1_SQ001 == 3, '"stimme eher nicht zu"', if(SM1_SQ001 == 4, '"weder noch"', if(SM1_SQ001 == 5, '"stimme eher zu"', if(SM1_SQ001 == 6, '"stimme zu"', '"stimme völlig zu"'))))))
Merci much,
Pialu
- Joffm
- Offline
- LimeSurvey Community Team
- Posts: 12713
- Thank you received: 3924
Zunächst würde ich auf ein GIGO-Phänomen tippen ("Garbage in - Garbage out", oder "Mist rein - Mist raus").
Ich habe Deine Gleichung kopiert, meine Matrix angepasst, und es geht.
Siehe angehängtes Beispiel.
Also ist eventuell doch noch irgendwo ein Tippfehler.
Viel Erfolg
Joffm
Volunteers are not paid.
Not because they are worthless, but because they are priceless
- Joffm
- Offline
- LimeSurvey Community Team
- Posts: 12713
- Thank you received: 3924
noch zwei Anmerkugen:
1. Ich gehe bisher davon aus, dass die "1" in "SM1_SQ001 == 1, '"stimme überhaupt nicht zu"'" der Code der Antwortoption ist. Und nicht etwa der Text, während der Code dieses unglückliche "A1", "A2" ist.
Du weißt ja:
Laut Manual:
Syntax | Meaning |
QCode | an alias for Qcode.code |
Qcode.code | the selected response code for the question |
Qcode.shown | the dispay value for the question |
2. Warum willst Du überhaupt diese Umcodierung machen?
Sieht Deine Matrix so aus`?
Warum nicht so?
Dann kannst Du in einer Folgefrage einfach sagen:
Sie haben ja vorher "{SM1_SQ001.shown}" gewählt.
Aber das musst Du ja besser wissen. Aber aus solchen Gründen ist ein kleines Beispiel (*.lss) immer angebracht.
Bis dann
Joffm
P.S. Warum sagte ich "unglückliches A1, A2"?
Das nur noch so nebenbei.Stelle Dir vor, Du möchtest statistische Auswertungen vornehemen.
Deine Antwortoptionen hier sind ja zumindest ordinal skaliert; in der Marktforschung geht man auch oft davon aus, dass sie intervallskaliert sind, und rechnet dann t-Tests, Korrelationen und ähnliches.
Dazu benötigst Du aber eben numerische Werte.
Bei "A1","A2,.. erhälst Du im Export eben nur diese "Texte".
Damit ließen sich dann nur Tests rechnen, die Nominalskalen-Niveau erfordern, z.B. CHI2.
Oder Du musst im Statistikprogramm zunächst umcodieren.
Das ist alles unnötig, wenn man gleich zu Anfang die Codes entsprechend vergibt.
Eins meiner Lieblingsbeispiele ist:
Wie oft gehen Sie ins Kino?
mit den Antwortoptionen:
einmal pro Woche - einmal pro Monat - alle drei Monate - alle sechs Monate - einmal im Jahr - noch seltener
Normalerweise würde man diese 6 Codes von 1-6 durchnumerieren.
Besser ist es aber zu sagen:
50 = einmal pro Woche
12 = einmal pro Monat
4 = alle drei Monate
2 = alle sechs Monate
1 = einmal im Jahr
0 = noch seltener
Dann würde (ohne große Verrenkung) ein simpler Mittelwert schon eine gute Aussage machen: "Wie oft pro Jahr geht man ins Kino?"
Volunteers are not paid.
Not because they are worthless, but because they are priceless
- pialu
- Topic Author
- Offline
- New Member
- Posts: 17
- Thank you received: 0