Welcome, Guest
Username: Password: Remember me

TOPIC: Schwerwiegender Fehler mit rand()/Expressions

Schwerwiegender Fehler mit rand()/Expressions 4 months 2 days ago #108737

  • Obererpel
  • Obererpel's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 5
  • Karma: 0
Hallo,

da mir im IRC leider keiner helfen kann (oder, um ehrlich zu sein, weil ich zu ungeduldig bin, auf eine Antwort zu warten) versuche ich es nun hier. Grundlage meiner Überlegungen ist folgende Anleitung:

www.limesurvey-consulting.com/how-to-ran...a-limesurvey-survey/

Wird eine Frage vom Typ Gleichung automatisch mit einer Zufallszahl belegt {rand(0,2)} wird dieser Wert nicht korrekt weiterverwendet.

Ich habe hierzu eine Testumfrage angelegt (Exporte im Anhang). Kurze Zusammenfassung:
Seite 1
Frage 1: Gleichung, welche zufällig belegt wird {rand(0,2)}
Frage 2: Gleichung, welche als Ausdruck den Wert von Frage 1 nehmen sollte {Zufallszahl}

Seite 2
Frage 1: Analog zu S1F2
Frage 2-4: Ausgabe von "null","eins","zwei", Anzeige abhängig von Wert der Frage S1F1

Hier das Ganze in Aktion. Auf Seite 1 wird die erste Frage zufällig mit 1 belegt, gelesen wird es danach als 0.
seite1.png

Auf der nächsten Seite haben wir dann plötzlich nur noch 2en:
seite2.png

Als 2 landet das Ergebnis dann auch in der Datenbank (Datensatz 12)
datensatz.png


Ich hoffe, die Sache kann aufgeklärt werden. Viele Grüße
Marc

----€dit----
Version 2.05+ Build 140502
PHP Version 5.3.17
System Linux beta 3.7.10-1.28-xen
MySQL 5.5.33
Last Edit: 4 months 18 hours ago by holch.
The administrator has disabled public write access.

Schwerwiegender Fehler mit rand()/Expressions 4 months 2 days ago #108738

  • Obererpel
  • Obererpel's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 5
  • Karma: 0
Ich habe nochmal ein wenig herumexperimentiert. Mit jedem Aufruf von {Zufallszahl} scheint S1F1 neu ausgewürfelt zu werden. Ebenso geschieht dies beim Test der Relevanzgleichung. Der zuletzt ausgewürfelte Wert kommt dann in die Datenbank, und zwar für alle.
The administrator has disabled public write access.

Schwerwiegender Fehler mit rand()/Expressions 4 months 1 day ago #108824

  • jelo
  • jelo's Avatar
  • OFFLINE
  • Platinum Lime
  • Posts: 467
  • Thank you received: 52
  • Karma: 16
Es gilt den Zufallswert in eine andere Variable zu übernehmen und damit weiterarbeiten.

Sonst ändert sich die Zufallszahl halt immer wieder.
The administrator has disabled public write access.

Schwerwiegender Fehler mit rand()/Expressions 4 months 1 day ago #108838

  • Obererpel
  • Obererpel's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 5
  • Karma: 0
jelo wrote:
Es gilt den Zufallswert in eine andere Variable zu übernehmen und damit weiterarbeiten.

Sonst ändert sich die Zufallszahl halt immer wieder.
Würde heißen, ich erstelle eine Gleichung mit Code Zufallszahl_Kopie mit Inhalt {Zufallszahl} und nutze in Zukunft immer {Zufallszahl_Kopie}? Das kann doch auch nicht der Weg sein.

Zumal ich (ohne es überprüft zu haben) glauben könnte, dass sich der Fehler hier weitervererbt.
The administrator has disabled public write access.

Schwerwiegender Fehler mit rand()/Expressions 4 months 1 day ago #108840

  • jelo
  • jelo's Avatar
  • OFFLINE
  • Platinum Lime
  • Posts: 467
  • Thank you received: 52
  • Karma: 16
Im verlinkten Artikel ist die Gleichung unvollständig, wobei dort der Wert ja auch nur einmal abgeriffen wird, und es egal ist, ob der Wert sich zwischendrin ändert.

Bevor es den Equation-Fragetype gab, war das etwas weniger tricky, da dort einfach ein "dummes" Textfeld den Wert lieferte.


Nutze bitte diese Gleichung:
{if(is_empty(Zufallszahl),rand(0,2),Zufallszahl)}

Grüße nach Rostock.
Last Edit: 4 months 1 day ago by jelo.
The administrator has disabled public write access.

Schwerwiegender Fehler mit rand()/Expressions 4 months 1 day ago #108842

  • Obererpel
  • Obererpel's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 5
  • Karma: 0
jelo wrote:
Im verlinkten Artikel ist die Gleichung unvollständig, wobei dort der Wert ja auch nur einmal abgeriffen wird, und es egal ist, ob der Wert sich zwischendrin ändert.

Bevor es den Equation-Fragetype gab, war das etwas weniger tricky, da dort einfach ein "dummes" Textfeld den Wert lieferte.


Nutze bitte diese Gleichung:
{if(is_empty(Zufallszahl),rand(0,2),Zufallszahl)}

Grüße nach Rostock.

Danke für die angepasste Gleichung, diese funktioniert scheinbar ganz gut. Dann brauch ich in Zukunft nicht mehr die JavaScript-Workarounds basteln.

Muss aber ehrlich sagen, so ganz offensichtlich ist die Problematik im ersten Moment nicht, wenn man nicht genau weiß, wie die Equations funktionieren.

Wo habe ich mich verraten? Im Export der Umfrage?
The administrator has disabled public write access.

Schwerwiegender Fehler mit rand()/Expressions 4 months 1 day ago #108843

  • jelo
  • jelo's Avatar
  • OFFLINE
  • Platinum Lime
  • Posts: 467
  • Thank you received: 52
  • Karma: 16
Ich hatte die angehangene Umfrage erst übersehen, daher habe ich die erst später angeschaut.
Im Export ist die komplette Admin-Email drin. Daher meine Info. Vielleicht entfernst Du die einfach wieder.

Limesurvey ist halt ein Langzeitprojekt, um der WiPsy-Gemeinde ein paar Dissonanzen zu bescheren.
Seminare, die ihre Erkennntnisse in die Dokumentation hier einbringen, sind gerne gesehen.
Dachte, Un*park ist weiterhin der Liebling der Institute ;-)
The administrator has disabled public write access.

Schwerwiegender Fehler mit rand()/Expressions 4 months 1 day ago #108878

  • Obererpel
  • Obererpel's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 5
  • Karma: 0
jelo wrote:
Ich hatte die angehangene Umfrage erst übersehen, daher habe ich die erst später angeschaut.
Im Export ist die komplette Admin-Email drin. Daher meine Info. Vielleicht entfernst Du die einfach wieder.

Limesurvey ist halt ein Langzeitprojekt, um der WiPsy-Gemeinde ein paar Dissonanzen zu bescheren.
Seminare, die ihre Erkennntnisse in die Dokumentation hier einbringen, sind gerne gesehen.
Dachte, Un*park ist weiterhin der Liebling der Institute ;-)

Da ich selbst kein Wipsy bin, sondern "der (Informatik-)Hiwi", kann ich das nicht wirklich beurteilen, was da besser ist. Ansonsten läuft Limesurvey doch ziemlich gut, bis auf einige kleine Marotten kann man damit arbeiten. Und die Kollegen haben sich auch noch nicht wirklich beschwert.

Ich denke aber, dass hier kein Diskussionsbedarf mehr besteht. Ob das ganze jetzt als Bug oder Feature abgestempelt wird, sollen die zuständigen Stellen entscheiden, der Thread darf von mir aus geschlossen werden (wenn das hier so üblich ist)
The administrator has disabled public write access.

Schwerwiegender Fehler mit rand()/Expressions 4 months 18 hours ago #108912

  • holch
  • holch's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 2671
  • Thank you received: 323
  • Karma: 121
[EDIT] LSS Datei auf Wunsch des Posters entfernt [/EDIT]
Have a look at the manual! It is a really valuable source for information. Here some helpful links:
Manual (EN) | Question Types | Question Attributes | Workarounds

If you found this answer helpful and it saved you some time please consider a donation to the project to keep Limesurvey going!
The administrator has disabled public write access.
Moderators: ITEd
Time to create page: 0.112 seconds
Donation Image