Der Fragetyp select_multiple zeigt eine Liste an, aus der der Befragte eine oder mehrere Optionen auswählen kann. Standardmäßig werden die Auswahlmöglichkeiten als Kontrollkästchen dargestellt. Der gespeicherte Wert ist eine leerzeichengetrennte Liste aller ausgewählten Werte.

Grundlegende XLSForm-Spezifikation

survey-Arbeitsblatt:

typenamelabel
select_multiple cropscrops_grownWelche Kulturen baut der Haushalt an?

choices-Arbeitsblatt:

list_namenamelabel
cropsmaizeMais
cropsbeansBohnen
cropsriceReis
cropsvegetablesGemüse
cropsotherSonstiges

Weitere Details finden Sie in der XLSForm-Spezifikation.

Gespeichertes Datenformat

Die exportierte Spalte enthält eine leerzeichengetrennte Liste der ausgewählten Werte:

  maize beans vegetables
  

Verwenden Sie die Funktion selected() — nicht = — wenn Sie select_multiple-Werte in Ausdrücken prüfen (siehe unten).

Anwendungsbereiche

Select_multiple-Fragen werden verwendet für:

  1. Erfassung mehrerer zutreffender Antworten (z. B. Einkommensquellen, angebaute Kulturen, Symptome)
  2. Kontrollkästchen-Zustimmungspunkte (z. B. “Alle zutreffenden auswählen”)
  3. Sprach- oder Kompetenzkataloge
  4. Jede Frage, bei der mehrere Antworten gleichzeitig gültig sind

Erscheinungsoptionen

ErscheinungsbildBeschreibung
(keine)Standard-Kontrollkästchen, eines pro Zeile
minimalDropdown-Mehrfachauswahl-Widget
compactKompaktes Raster, Spalten passen sich der Bildschirmbreite an
compact-NKompaktes Raster mit N erzwungenen Spalten
horizontalAuswahlmöglichkeiten horizontal in einer Reihe (Web)
horizontal-compactHorizontal, kompakter Abstand (Web)
labelZeigt nur Beschriftungen, keine Kontrollkästchen (zusammen mit list-nolabel verwenden)
list-nolabelZeigt nur Kontrollkästchen, keine Beschriftungen (zusammen mit label verwenden)
columns(N)Anzeige in N Spalten (rtSurvey-Erweiterung)

Beispiel: 3-Spalten-kompaktes Layout

typenamelabelappearance
select_multiple symptomssymptomsAlle beobachteten Symptome auswählencompact-3

Verwendung von selected() in Ausdrücken

Da der gespeicherte Wert eine leerzeichengetrennte Zeichenkette ist, müssen Sie selected() verwenden, um zu prüfen, ob eine bestimmte Option ausgewählt wurde. Die Verwendung von = funktioniert nicht korrekt.

In relevant

Folgefrage nur anzeigen, wenn “Sonstiges” ausgewählt wurde:

typenamelabelrelevant
select_multiple cropscrops_grownWelche Kulturen werden angebaut?
textcrops_otherBitte andere Kulturen angebenselected(${crops_grown}, 'other')

In constraint

Mindestens 2 Auswahlmöglichkeiten erfordern:

typenameconstraintconstraint_message
select_multiple issuesissuescount-selected(.) >= 2Mindestens 2 Punkte auswählen

Auf maximal 3 begrenzen:

typenameconstraintconstraint_message
select_multiple prioritiesprioritiescount-selected(.) <= 3Nicht mehr als 3 Prioritäten auswählen

In calculate — Ausgewählte Beschriftungen verbinden

Kombinieren Sie selected-at(), count-selected() und choice-label() für eine lesbare Zusammenfassung:

typenamecalculation
calculatecrops_summaryjoin(’, ‘, ${crops_grown})

Option “Keine der oben genannten” / exklusive Option

Ein verbreitetes Muster ist es, eine Option gegenseitig ausschließend mit allen anderen zu machen. Verwenden Sie eine constraint, um dies zu erzwingen:

typenamelabelconstraintconstraint_message
select_multiple issuesissuesAlle vorhandenen Probleme auswählennot(selected(., 'none') and count-selected(.) > 1)“Keine” kann nicht zusammen mit anderen Optionen ausgewählt werden

choices:

list_namenamelabel
issueswaterWasserknappheit
issuesroadsSchlechte Straßen
issueshealthMangelnde Gesundheitsversorgung
issuesnoneKeine der oben genannten

Auswahlen zählen und zusammenfassen

FunktionBeispielErgebnis
count-selected(field)count-selected(${crops_grown})Anzahl der ausgewählten Optionen
selected(field, value)selected(${crops_grown}, 'maize')wahr/falsch
selected-at(field, index)selected-at(${crops_grown}, 0)Erster ausgewählter Wert
choice-label(field, value)choice-label(${crops_grown}, 'maize')Beschriftung für einen Wert

Empfohlene Vorgehensweisen

  1. Verwenden Sie immer selected() in relevant, constraint und calculate — niemals = oder !=.
  2. Fügen Sie eine Einschränkung hinzu, um die maximale Anzahl der Auswahlen zu begrenzen, wenn das Fragedesign dies erfordert.
  3. Fügen Sie eine Option “Keine” oder “Nicht zutreffend” hinzu, wenn null Auswahlen eine gültige Antwort ist.
  4. Verwenden Sie bei langen Listen (15+ Optionen) minimal (Mehrfachauswahl-Dropdown), um übermäßiges Scrollen zu vermeiden.
  5. Exportieren Sie Daten und verwenden Sie String-Splitting in Ihrem Analysetool — das leerzeichengetrennte Format erfordert eine Aufteilung vor der Auswertung.

Einschränkungen

  • Select_multiple-Werte können nicht direkt mit = verglichen werden. Verwenden Sie immer selected().
  • Das kompakte Erscheinungsbild wird bei sehr langen Auswahlbeschriftungen möglicherweise nicht gut gerendert.
  • Bei der Filterung von Auswahlmöglichkeiten mit choice_filter gilt die Filterung für alle angezeigten Optionen, genau wie bei select_one.
War diese Seite hilfreich?