Welcome to the LimeSurvey Community Forum

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

Erscheinen von Fragen abhängig von einer eingegeben Zahl möglich?

  • Christine255
  • Christine255's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
3 years 4 months ago #209081 by Christine255
Hallo zusammen,

ich möchte gerne bei meiner Umfrage die Teilnehmer fragen, wie viele Medikamente sie einnehmen. Das ist noch einfach - eine Frage mit Maskeneingabe: Zahleneingabe einfügen.


Dann wirds komplizierter. Gibt der Teilnehmer an, dass er 1 Medikament einnimmt, soll er daraufhin einen Fragenblock mit 5 Fragen (Fragentyp: mehrfach kurze Texte) zu diesem Medikament beantworten.

Nimmt er 2 Medikamente ein, muss er 2x diesen Fragenblock beantworten, also zu jedem Medikament 1x den Fragenblock. Das heißt, dass abhängig von der angegeben Anzahl Medikamente in der ersten Frage, die Anzahl der Frageblöcke mit den je 5 Fragen erscheinen soll. Sprich nimmt er 3 Medikamente ein, soll 3x der Fragenblock erscheinen, die er dann pro Medikament beantworten muss. Nimmt er 5 Medikamente ein, muss der Fragenblock 5x erscheinen.

Ist so etwas möglich? Leider bin ich bisher im Forum und im Manual nicht besonders schlau geworden. Arbeite mit der Version 3.23.7+201006 auf einem Mac.

Vielen Dank für jede Hilfe!
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 4 months ago #209085 by Joffm
Hallo, Christine,
es wird überhaupt nicht kompliziert.
Du hast schon alles beschrieben.
Nur: Sprich nicht von Fragenblock wenn es nur eine Frage vom Typ "mehrfacher kurzer Text" ist.

Gut, Du weißt, dass die Frage mehrmals angelegt werden muss (gewünschte Maximalzahl)
Nun gibt es doch folgende Bedingungen:
Frage zum ersten Medikament gestellt wird: Anzahl>0
Frage zum zweiten Medikament gestellt wird: Anzahl>1
Frage zum dritten Medikament gestellt wird: Anzahl>2

Das ist alles.
Du trägst also in die Relevanzgleichung der ersten Frage ein : Q1>0, der zweiten Frage: Q1>1, usw.
wenn Q1 der Code der Frage nach der Medikamentenzahl ist.



Noch so nebenbei:
Gestalte die erste Frage ein bisschen schöner.
Einfach mit Prefix und Suffix und Texteingabeboxbreite.
Die Standardansicht mit der Box über die gesamte Breite und dann der rechtsbündigen Eingabe sieht wirklich nicht gut aus.


Eventuell wäre eina andere Art des Designs besser.
1. Frage: Bitte, geben Sie die Namen der Medikamente ein, die Sie aktuell nehmen.
mit dynamischen Anzeigen der Eingabefelder
2.a.-2.x. Die Detailfragen dazu.
Beispiel:





Und dann folgen die Detailfragen.





Und als Letztes für heute.
Diese Fragen nach Tageszeitpunkt und vor allem Dosierung werden Dich bei der Kodierung zur Verzweiflung bringen, da jeder etwas anderes schreibt, auch wenn er dasselbe meint.
Versuche dies zu quantifizieren. Man kann dann statt dieser beiden Textfelder dort z.B. Drop-downs einfügen.
Nur als Denkanstoß

Bis dann
Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 4 months ago #209101 by Joffm
Hallo, Christine,
eigentlich wollte ich noch eine Beispielstudie anfügen.

Hier ist sie.

File Attachment:

File Name: limesurvey...1953.lss
File Size:52 KB

In der ersten Gruppe das bereits Beschriebene.
In der zweiten noch ein kleines Schmankerl und die schon erwähneten Drop-Downs



Schau es einfach einmal an.

Allerdings gibt es - wie häufig - die Möglichkeit, dass Du bei einer Uni-Installation keine Rechte hast javascript einzufügen.
Das ist dann eben Pech.

Bis dann
Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Christine255
The topic has been locked.
  • Christine255
  • Christine255's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
3 years 4 months ago #209131 by Christine255
Hallo Joffm,

vielen lieben Dank schon mal für die Erklärungen und Hinweise. Bei Abrakadabra und Blocksbergsalbe musste ich kurz lachen ;) Das hat mich ein gutes Stück weitergebracht.

1. Ich habe nun 10x die Frage "mehrfach kurzer Text" eingefügt und bei jeder einzelnen Frage die entsprechende Relevanzgleichung (Q1>0, Q1>1 etc.) eingegeben. Beim Austesten wurden dann jedoch alle 10 Fragen angezeigt, obwohl ich in der Frage zuvor bei der Anzahl der eingenommenen Medikamente nur die Zahl "2" eingegeben hatte (hier steht in der Relevanzgleichung Q1) Theoretisch dürfte die Frage doch nun auch nur 2x erscheinen oder? Mache ich da was falsch?



2. Deine Idee mit dem veränderten Design:"1. Frage: Bitte, geben Sie die Namen der Medikamente ein, die Sie aktuell nehmen.mit dynamischen Anzeigen der Eingabefelder2.a.-2.x. Die Detailfragen dazu." finde ich sehr gut! In der Beispielstudie wolltest du mir glaube ich zeigen, wie die Einstellungen dafür zu treffen sind. Leider habe ich oder sehe ich die Möglichkeit nicht, wie ich die lss-Datei in Lime-Survey hochladen kann, um sie mir anzuschauen. Ich kann lediglich eine lss-Datei exportieren. Oder bin ich auch hier blind? Irgendwie fehlt mir dieser Button zum Import bei der Uni-Version.



Deswegen wäre es super nett, wenn du mir kurz erklären könntest, wie ich das mit den Feldern mache, wenn ein Teilnehmer "Abrakadabra" in der ersten Frage als Medikament angibt, dieses "Abrakadabra" dann in der zweiten Frage erscheint (s. dein Beispiel). Gerne würde ich auch die Buttons "[+]Medikament und [-]Medikament" einfügen. Wie funktioniert das?

Vielen Dank auch mit dem Tipp für den Einnahmezeitpunkt und der Dosierung. Das mit den Drop-Downs werde ich definitiv umsetzen!

Beste Grüße
Christine
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 4 months ago #209134 by Joffm
So, wie ich das sehe, heißen Deine Fragen ja auch ganz anders.
Die Frage aller Fragen heißt bei Dir doch "AnzahlMedikamente".

In meiner Beispielstudie siehst Du ja, dass die Frage eben "Q1" heißt.
Diesen Transfer hatte ich Dir zugetraut. ;)

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Christine255
The topic has been locked.
  • Christine255
  • Christine255's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
3 years 4 months ago #209139 by Christine255
Ach ich bin auch blöd...:dry: Habe gerade noch mal genau deine Anweisungen gelesen und da steht auch Q1 bei der ersten Frage als Code und nicht als Relevanzgleichung. Geändert und jetzt klappts! Juhu!


Trotzdem wäre ich noch sehr an der Umsetzung deiner anderen Vorschlägen interessiert (s. Punkt 2) :)

Beste Grüße
Christine
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 4 months ago #209140 by Joffm
Hast Du Dir mein Beispiel gut angesehen?
Da ist alles drin.

Schön, dass es Dir gefällt.
Da werden wir dann einmal ins Detail gehen.
Aber erst morgen (mittag) wieder.

Bis dann
Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Christine255
The topic has been locked.
  • Christine255
  • Christine255's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
3 years 4 months ago #209146 by Christine255
Leider kann ich deine Beispielumfrage ja nicht in Lime Survey hochladen (s. vorherige Nachricht + die beiden Screenshots) und daher nicht anschauen. Übersehe ich die Import-Möglichkeit vielleicht oder gibt es noch eine andere Option, um sich deine Beispielumfrage anzuschauen? Das lss-Format kann ich ohne Lime Survey nicht öffnen oder?

Bin für jeden Tipp dankbar.
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 4 months ago #209175 by Joffm
Hallo, Christine,
Du kannst wirklich keine lss-Exporte importieren? Ich hatte diesen Passus zwischen den beiden screenshots übersehen.
Wenn es geht, ist es hier.


oder auch beim "Erstellen" deiner Umfrage


Falls der Admin Euch so sehr "kastriert" hat, werdet Ihr wohl auch keine Rechte haben, javascript einzufügen. Oder?
Damit wäre dann die Lösung mit dem "Hinzufügen"-Button ad acta zu legen.

Du kannst es aber einmal schnell ausprobieren.
Füge in eine Frage (Im Quellcode-Modus) ein:
Code:
<script type="text/javascript" charset="utf-8">
  $(document).on('ready pjax:complete',function() {
      alert("Hallo, hier ist javascript");
    });
</script>
Wenn Du Frage anzeigst und die Meldung siehst, ist es gut, sonst klappt es nicht.

Deswegen wäre es super nett, wenn du mir kurz erklären könntest, wie ich das mit den Feldern mache, wenn ein Teilnehmer "Abrakadabra" in der ersten Frage als Medikament angibt, dieses "Abrakadabra" dann in der zweiten Frage erscheint


Gut, dies hängt wohl auch ein bisschen mit Deinem Irrtum Q1 betreffend zusammen.
Du nennst die Frage "AnzahlMedikamente" .
Dann wird in der Variablen mit diesem Namen der Wert gespeichert. Später im Export wird dies die Spaltenbeschriftung sein.
Daher kann ich auf diese Variable später zugreifen, z.B. um diverse Operationen damit zu machen.
Vergleichen (AnzahlMedikamente==4) , irgendwo anders noch einmal anzeigen ( {AnzahlMedikamente} ), mathematische Operationen durchführen ( sum(AnzahlMedikamente,AnzahlPlacebo) ).
Du beziehst Dich immer auf diesen Variablennamen.
Daher auch in der Studie
AnzahlMedikamente>0
AnzahlMedikamente>1
...

Wie Du genau auf verschiedene Teile einer Frage/Antwort zugreifen kannst, finst Du hier
manual.limesurvey.org/ExpressionScript_-...#Access_to_variables

Hier noch ein bisschen heruntergescrollt steht dann noch dieses:

Qcode variable naming

Here are the details of how to construct a Qcode (and access some properties) by question type. In general, Qcodes are constructed as:

QuestionCode . '_' . SubQuestionID . '_' . ScaleId

For comment and other, the corresponding question codes are QuestionCode_comment and QuestionCode_other, respectively.


Das ist der entscheidende Teil:
QuestionCode . '_' . SubQuestionID . '_' . ScaleId

und dies
the selected response code for the question if it is relevant (otherwise blank), or the text value if it is not a coded question
Soll heißen: Ist es eine kodierte Frage wird der Code angezeigt, bei Texteingabefragen der eingegebene Text.

Bei Einfachnennung gibt es keine Teilfragen, also greift man auf den Wert zu über den Fragencode (AnzahlMedikamente)

Bei Fragen mit Teilfragen (Mehrfachnennung, Matrizen) greift man zu über Fragencode_Teilfragencode
FragenzurMed1_SQ001 (oder wie immer Du die Teilfragen benannt hast)
Matrix(Texte/Zahlen) haben nun noch ein Dimension mehr.
Also hier
Fragencode_TeilfragencodeYAchse_TeilfragencodeXAchse

Und bei einer Dual Matrix gilt: Erste Skala = 0, zweite Skala = 1
Fragencode_Teilfragencode_0, bzw. Fragencode_Teilfragencode_1.

Es gibt in der Handbuch-Tabelle ja noch viele andere "properties" (.shown, .value, .NAOK,...), die aber zunächst einmal außen vor bleiben sollen.
".NAOK" wäre dann wichtig, wenn Du mathematische Berechnungen in der Studie anstellen willst.

Damit können wir auch die Frage nach dem Medikamentennamen beantworten
Wenn in der Frage Q1, Teilfrage SQ001 nach dem Namen gefragt wurde, kannst Du in späteren Fragen mit {Q1_SQ001} diesen einblenden.

"Sie haben ja gesagt, dass Sie {Q1_SQ001} verwenden."
Wird einfach so in den Fragetext geschrieben.

So, wieder viel zu viel geschrieben.
Aber teste zunächst einmal ob das javascript funktioniert.

Bis dann
Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Christine255
The topic has been locked.
  • Christine255
  • Christine255's Avatar Topic Author
  • Offline
  • Junior Member
  • Junior Member
More
3 years 4 months ago #209191 by Christine255
Hallo Joffm,

tatsächlich kann ich mit diesem Uni-Account keine lss-Datei in Lime Survey importieren...

Auch die andere von dir genannte Möglichkeit funktioniert leider nicht. Man bekommt seinen Zugang über die Uni nur für eine im Voraus festgelegte Umfrage :pinch:

Dafür hat das mit dem javascript funktioniert:


Dann müsste man doch auch irgendwie die Buttons einfügen können oder? Das sähe viel professioneller aus, wenn der Teilnehmer immer wieder ein neues Medikament "hinzufügen" könnte.

Dank deiner Anleitung konnte ich auch den Namen des Medikaments, das in der ersten Frage gefragt wird, in die zweite Frage einfügen.


Nun würde ich gerne noch die Klappbox für Dosierung und Einnahmezeitpunkt in das Mehrfach-kurze-Texte-Feld einfügen. Ich habe schon ein bisschen im englischen Forum recherchiert und gesehen, dass das auch mit einem javascript funktioniert. Leider sind die von mir gefundenen Beiträge alle schon mehrere Jahre alt. Müsste ich ein solches javascript für die Klappbox auch wie oben in dem Fragenfeld im Quellcode-Modus einfügen? Und wie füge ich dann die Antwortmöglichkeiten für die Klappbox ein? Ich befürchte das werden nämlich ziemlich viele...

Beste Grüße
Christine
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 4 months ago #209192 by Joffm
Hallo, Christine,

Man bekommt seinen Zugang über die Uni nur für eine im Voraus festgelegte Umfrage

Oh, Gott.

Das ist zwar schade, aber kein Beinbruch. Dann machen wir es eben anders.
Aber die Hauptsache ist, dass javascript läuft.

Gut, erstens also die Button, zweitens das Dropdown im "mehrfachen kurzen Text".

Heute ist es mir zu spät; aber morgen werde ich die scripte schicken, so dass Du sie nur hineinzukopieren brauchst.
Natürlich musst Du dann einige Texte anpassen. ;)

Joffm

P.S. Ach, Du nimmst Du auch diese Medikamente?
Pass auf die Nebenwirkungen auf. Ich habe schon fast keine Haare mehr.

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 4 months ago #209197 by holch
Immer wieder spannend, was sich die Unis so einfallen lassen.

Statt LS auf dem neuesten Stand zu halten werden lieber irgendwelche komischen (und in meiner Ansicht reichlich unnötigen) Modifizierungen vorgenommen. Danach ist klar, dass keiner Lust hat so ein Limesurvey aktuell zu halten.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose