Welcome, Guest
Username: Password: Remember me

TOPIC: Filterung (Single Choice) basierend auf einer vorherigen Frage (Single Choice)

Filterung (Single Choice) basierend auf einer vorherigen Frage (Single Choice) 2 years 3 months ago #82955

  • mars99
  • mars99's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 6
  • Karma: 0
Ich habe das Problem das ich bei Frage 1 das Europäische Land (Code ist jeweils das 2-stellige Landeskürzel; ) abfrage und in der folgenden Frage die Region (nach NUTS-1 Region: epp.eurostat.ec.europa.eu/portal/page/po...clature/introduction) abfragen möchte.
In der zweiten Frage sind alle NUTS-1 Codes und Bezeichnung enthalten, aber je zuvor gewähltem Land (2-stelligen Landeskürzel aus Frage 1) sollen nur noch die in Frage kommenden NUTS-1 Codes angezeigt werden.
Ich brauche also eine Filterung:
  1. Excludiere alle Codes, die nicht einen Teilbegriff aus der Frage 1 enthalten. oder
  2. Inkludiere nur Codes, die den Teilbegriff aus Frage 1 enthalten
Hier etwas konkreter die Frage 1 (Typ: "List (dropdown)"):
In welchem der folgenden europäischen Länder wohnen Sie?
Hier ein Auszug
CodeLand
DEGermany
GRGreece
ESSpain
FRFrance
IEIreland
ITItaly
LULuxembourg
NLNetherlands
PTPortugal
GBUnited Kingdom (Great Britain, Northern Ireland)

Hier dann ein Teil der Optionen von Frage 2 als Auszug (Typ: "List (dropdown)" oder etwas MultipleChoice mit max selection 1, etc.):
In welcher der folgenden Regionen wohnen Sie?
CodeRegion
DE1Baden-Württemberg
DE2Bayern
DE3Berlin
DE4Brandenburg
DE5Bremen
DE6Hamburg
DE7Hessen
DE8Mecklenburg-Vorpommern
DE9Niedersachsen
DEANordrhein-Westfalen
DEBRheinland-Pfalz
DECSaarland
DEDSachsen
DEESachsen-Anhalt
DEFSchleswig-Holstein
DEGThüringen
UKCNorth East, England
UKDNorth West, England
UKEYorkshire and the Humber, England
UKFEast Midlands, England
UKGWest Midlands, England
UKHEast of England
UKILondon, England
UKJSouth East, England
UKKSouth West, England
UKLWales
UKMScotland
UKNNorthern Ireland

Wie man sieht gibt es hier auch noch das Problem das z.B. bei "United Kingdom" (Frage 1), der Regionscode dummerweise nicht auch mit "GB" beginnt sondern leider mit "UK".
Ich brauche also quasi eine "Switch..case" Anweisung.

Es folgt noch eine dritte Frage wo nach der PLZ gefragt wird. Diese ist in den europäischen Ländern natürlich unterschiedlich strukturiert. Hier brauche ich also die Möglichkeit basierend auf der Antwort zur Frage 1, einen regulärem Ausdruck angeben zu können, der die Eingabe zumindest halbwegs verifiziert, damit nicht jeder Mist eingegeben werden kann.
"DE" ==> RegEx (simpelste Variante): \9{6}
"GB" ==> RegEx: ...

Auch das scheint derzeit nicht zu funktionieren, aber ich lasse mir gerne das Gegenteil beweisen. ;)

Ich könnte nach der ersten Landesfrage zwar theoretisch jeweils eine eigene Unterfrage erstellen (also eine Verzweigung nutzen), aber ich brauche die Ergebnisse aus Datenbank-Sicht gesehen in einer Spalte, für die spätere Statistik, sonst breche ich mir dort einen ab. Es ist davon auszugehen, das die Umfrage später europaweit durchgeführt wird.
Last Edit: 2 years 3 months ago by mars99.
The administrator has disabled public write access.

Aw: Filterung (Single Choice) basierend auf einer vorherigen Frage (Single Choice) 2 years 3 months ago #82966

  • mars99
  • mars99's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 6
  • Karma: 0
Ärgerlich das man nach einer Zeit den eigenen Eintrag nicht mehr editieren kann.

Nun also als extra Posting:
Ich habe noch etwas mit dem Expression Manager herumgespielt, da ich gehofft hatte damit ggf. die Filterung durchführen zu können.
Leider war ich damit nicht erfolgreich, generell könnte es damit aber funktionieren.
The administrator has disabled public write access.

Re: Aw: Filterung (Single Choice) basierend auf einer vorherigen Frage (Single Choice) 2 years 3 months ago #82968

  • holch
  • holch's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 2851
  • Thank you received: 358
  • Karma: 124
Ich vermute auch, dass der Expression Manager das schon kann. Allerdings würde ich dein Problem anders angehen: ich würde pro Land eine zusätzliche Frage einfügen, dann kannst du über conditions die jeweilige Frage einblenden.
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.

Re: Aw: Filterung (Single Choice) basierend auf einer vorherigen Frage (Single Choice) 2 years 3 months ago #82969

  • mars99
  • mars99's Avatar
  • OFFLINE
  • Fresh Lemon
  • Posts: 6
  • Karma: 0
Hallo holch,

ja, theoretisch geht das. Allerdings bricht mir das wie am Ende des ersten Postings erwähnt bei den Statistiken das Genick. Ich brauche nämlich alle Antworten in einer Spalte der Datenbank, da eine EU-Statistik am Ende generiert werden soll.
Sobald ich eine neue Frage einbaue, gibt es eine neue Spalte in der Datenbank.

Es muss also über den Expression Manager (EM) laufen, der zumindest theoretisch als Lösung in Frage kommt. Leider ist die Dokumentation noch recht unverständlich. Ein paar Beispiele wären sicher hilfreich. Eine richtige "Filterung" habe ich auch noch nicht gesehen, nur die Variante mit einer Texteingabe, die dann in einer der foldenden Fragen wieder verwendet wird.
Ich kann es ja auch noch mal im englischen Teil des Forums posten.

Update 1:
Ich habe auf meinem privaten Testserver gerade noch mal ein EM-Beispiel importiert. Die normale Filterung setzt scheinbar voraus, dass der Code der Antwort identisch ist. Genau das geht bei mir ja nicht. Es ist in der Regel ein Teilstring, bei United Kindom ist es dann z.B. ein anderer Code "GB" --> "UK*".
Mir wäre schon geholfen, wenn ich die automatisch durchgeführte Filterung (durch Eingabe im Code) manuell eingeben könnte....vielleicht geht das sogar. Mal sehen ob ich im Laufe des Tages noch dazu komme. Ich muss mich heute und in den kommenden Tagen mit einem komplett anderen Thema befassen.

Update 2:
Das was bei der automatischen Filterung ("Array filter" bzw. "Array filter exclusion") automatisch passiert ist zu sehen, wenn man QA bei der zu filternden Frage aufruft (beispiel exclusion)...
Der interessante Teil findet sich in "Relevance [Validation] (Default)":
[VALUE: sq1] (((f_t1_1.NAOK != 'sq1') and (f_t1_2.NAOK != 'sq1') and (f_t1_3.NAOK != 'sq1') and (f_t1_4.NAOK != 'sq1') and (f_t1_5.NAOK != 'sq1')))	1st sub-question
[VALUE: sq2] (((f_t1_1.NAOK != 'sq2') and (f_t1_2.NAOK != 'sq2') and (f_t1_3.NAOK != 'sq2') and (f_t1_4.NAOK != 'sq2') and (f_t1_5.NAOK != 'sq2')))
Wenn ich den geklammerten Ausdruck "(((..) and (..)...))" selber eingeben könnte wäre ich fein raus.
Last Edit: 2 years 3 months ago by mars99.
The administrator has disabled public write access.

Re: Aw: Filterung (Single Choice) basierend auf einer vorherigen Frage (Single Choice) 2 years 3 months ago #82971

  • holch
  • holch's Avatar
  • OFFLINE
  • LimeSurvey Team
  • Posts: 2851
  • Thank you received: 358
  • Karma: 124
Das was der Array filter da für dich macht ist EM Code erzeugen. Den solltest du durchaus auch per Hand eingeben können. Ich bin aber leider kein Experte was EM angeht.

Im Englischen Forum solltest du da vielleicht mehr Erfolg haben.
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.183 seconds
Donation Image