Bitte helfen Sie uns, Ihnen zu helfen und füllen Sie folgende Felder aus:
Ihre LimeSurvey-Version: LimeSurvey Community Edition Version 6.15.2+250628
Eigener Server oder LimeSurvey-Cloud: LimeSurvey-Cloud
Genutzte Designvorlage: vanilla
==================
Hallo zusammen,
ich versuche derzeit für eine Studie einen Fragebogen zu erstellen, wobei ich eine Kombination aus Bedingungen und Randomisierung von Fragegruppen einstellen möchte. Leider funktioniert es bisher nicht. Folgendes ist das Ziel:
Ich habe Age und Gender als Filterfragen/Bedingungen. Gender ist 0 (weiblich) und 1 (männlich), Alter ist als Dropdown-Liste von 18 bis 75 angezeigt.
Anschließend gibt es vier Fragegruppen, ich nenne sie jetzt beispielhaft Hund, Katze, Maus, Pferd. Welche Fragegruppe welcher Person angezeigt werden soll, ist teilweise vom Alter und Geschlecht abhängig. Bei einigen Alters- und Geschlechtsangaben soll immer eine bestimmte Fragegruppe ausgegeben werden - wenn mehrere Fragegruppen passen, soll jeweils eine davon randomisiert angezeigt werden. Im Folgenden ist aufgelistet, welche Fragegruppen zu welcher Person bzw. zu welchem Age und Gender passen:
- Gender == 0 AND >=18 Jahre soll nur Hund angezeigt werden.
- Gender == 0 AND >=35 Jahre soll randomisiert entweder Hund oder Katze angezeigt werden.
- Gender == 0 AND >=50 Jahre soll randomisiert eine der Gruppen Hund, Katze, Maus oder Pferd angezeigt werden.
- Gender == 1 AND >=35 Jahre soll nur Katze angezeigt werden.
- Gender == 1 AND >=50 Jahre soll randomisiert entweder Katze oder Pferd angezeigt werden.
Kurzversion meiner Frage: Was muss ich machen, damit jeder Person in Abhängigkeit von Alter und Geschlecht eine passende Fragegruppe korrekt angezeigt wird?
Lange Version mit Erklärung der bisherigen Versuche und Probleme:
Ich habe bisher in einer eigenen Fragegruppe (nach der Fragegruppe mit Alter und Geschlecht) eine Gleichungsfrage namens RandomIndex (versteckt, außer zum Testen) mit der Gleichung (rand(0, 3)) erstellt (habe aber z.B. auch schon if(Gender == 0 AND Age >= 50, floor(rand(0, 3)), "") und weitere probiert).
Danach habe ich in einer weiteren separaten Fragegruppe eine Gleichungsfrage namens SelectedGroup mit der folgenden Gleichung erstellt:
if(Gender == 0 AND Age >= 50, if(RandomIndex == 0, "Hund", if(RandomIndex == 1, "Katze", if(RandomIndex == 2, "Maus", "Pferd"))), if(Gender == 0 AND Age >= 35, if(rand(0,1) == 0, "Hund", "Katze"), if(Gender == 0 AND Age >= 18, "Hund", if(Gender == 1 AND Age >= 50, if(rand(0,1) == 0, "Katze", "Pferd"), if(Gender == 1 AND Age >= 35, "Katze", "None")))))
Jede der Fragegruppen hat dann als Bedingung jeweils ihren Namen, also z.B. SelectedGroup == "Maus" in der Gruppenrelevanz stehen.
Die beiden Hauptprobleme:
1. Manchmal scheint RandomIndex keine Zahl zu berechnen. Das sieht man, wenn man die Frage zum Testen nicht versteckt, da wird dann einfach keine Zahl angezeigt. Ich möchte aber, dass RandomIndex bei Gender == 0 AND Age >= 50 immer eine Zahl ausgibt, der dann anschließend eine Fragegruppe zugeordnet wird.
2. Die Fragegruppen werden der Zahl aus RandomIndex nicht korrekt zugeordnet, zum Beispiel wird bei RandomIndex == 2 "Pferd" angezeigt, obwohl es ja laut der Gleichung "Maus" sein müsste.
Kann mir jemand sagen, wie ich die Probleme lösen kann bzw. wie ich das hinbekomme, dass allen Teilnehmenden eine passende Fragegruppe angezeigt wird? Geht das vielleicht noch viel einfacher?
Vielen Dank im Voraus!