Select_multiple
Select_multiple-spørgsmål lader respondenter vælge en eller flere muligheder fra en foruddefineret liste.
Spørgsmålstypen select_multiple viser en liste, hvor respondenten kan vælge en eller flere muligheder. Som standard gengives valg som afkrydsningsfelter. Den gemte værdi er en mellemrumsadskilt liste over alle valgte valgværdier.
Grundlæggende XLSForm-specifikation
survey-regneark:
| type | name | label |
|---|---|---|
| select_multiple afgrøder | crops_grown | Hvilke afgrøder dyrker husstanden? |
choices-regneark:
| list_name | name | label |
|---|---|---|
| afgrøder | maize | Majs |
| afgrøder | beans | Bønner |
| afgrøder | rice | Ris |
| afgrøder | vegetables | Grøntsager |
| afgrøder | other | Andet |
For flere detaljer se XLSForm-specifikationen.
Gemt dataformat
Den eksporterede kolonne indeholder en mellemrumsadskilt liste over valgte værdier:
maize beans vegetables
Brug funktionen selected() — ikke = — når du tester select_multiple-værdier i udtryk (se nedenfor).
Anvendelser
Select_multiple-spørgsmål bruges til:
- At indsamle flere gældende svar (f.eks. indkomstkilder, dyrkede afgrøder, symptomer)
- Afkrydsningsligne enighedselementer (f.eks. “Vælg alle der gælder”)
- Sprog- eller kompetenceoversigter
- Ethvert spørgsmål, hvor flere svar er simultant gyldige
Appearance-muligheder
| Appearance | Beskrivelse |
|---|---|
| (ingen) | Standard afkrydsningsfelter, ét pr. linje |
minimal | Rullemenu med flervalg-widget |
compact | Kompakt grid, kolonner tilpasses skærmbredden |
compact-N | Kompakt grid tvunget til N kolonner |
horizontal | Valg arrangeret vandret i en række (web) |
horizontal-compact | Vandret, kompakt afstand (web) |
label | Viser kun labels, ingen afkrydsningsfelter (brug med list-nolabel) |
list-nolabel | Viser kun afkrydsningsfelter, ingen labels (brug med label) |
columns(N) | Vis i N kolonner (rtSurvey-udvidelse) |
Eksempel: 3-kolonne kompakt layout
| type | name | label | appearance |
|---|---|---|---|
| select_multiple symptomer | symptoms | Vælg alle observerede symptomer | compact-3 |
Brug af selected() i udtryk
Da den gemte værdi er en mellemrumsadskilt streng, skal du bruge selected() til at teste, om et specifikt valg er valgt. Brug af = fungerer ikke korrekt.
I relevant
Vis et opfølgningsspørgsmål kun, hvis “andet” er valgt:
| type | name | label | relevant |
|---|---|---|---|
| select_multiple afgrøder | crops_grown | Hvilke afgrøder dyrkes? | |
| text | crops_other | Angiv venligst andre afgrøder | selected(${crops_grown}, 'other') |
I constraint
Kræv mindst 2 valg:
| type | name | constraint | constraint_message |
|---|---|---|---|
| select_multiple problemer | issues | count-selected(.) >= 2 | Vælg mindst 2 problemer |
Begræns til maksimalt 3:
| type | name | constraint | constraint_message |
|---|---|---|---|
| select_multiple prioriteter | priorities | count-selected(.) <= 3 | Vælg ikke mere end 3 prioriteter |
I calculate — sammenføjning af valgte labels
Kombiner selected-at(), count-selected() og choice-label() for at opbygge en læsbar opsummering:
| type | name | calculation |
|---|---|---|
| calculate | crops_summary | join(’, ‘, ${crops_grown}) |
“Ingen af ovenstående” / eksklusiv valgmulighed
Et almindeligt mønster er at gøre én valgmulighed gensidigt eksklusiv med alle andre. Brug en constraint til at håndhæve det:
| type | name | label | constraint | constraint_message |
|---|---|---|---|---|
| select_multiple problemer | issues | Vælg alle tilstedeværende problemer | not(selected(., 'none') and count-selected(.) > 1) | “Ingen” kan ikke vælges sammen med andre muligheder |
choices:
| list_name | name | label |
|---|---|---|
| problemer | water | Vandmangel |
| problemer | roads | Dårlige veje |
| problemer | health | Mangel på sundhedsydelser |
| problemer | none | Ingen af ovenstående |
Tælling og opsummering af valg
| Funktion | Eksempel | Resultat |
|---|---|---|
count-selected(felt) | count-selected(${crops_grown}) | Antal valgte valg |
selected(felt, værdi) | selected(${crops_grown}, 'maize') | sand/falsk |
selected-at(felt, indeks) | selected-at(${crops_grown}, 0) | Første valgte værdi |
choice-label(felt, værdi) | choice-label(${crops_grown}, 'maize') | Label for en værdi |
Bedste praksis
- Brug altid
selected()irelevant,constraintogcalculate— aldrig=eller!=. - Tilføj en restriktion for at begrænse det maksimale antal valg, hvis spørgsmålsdesignet kræver det.
- Inkluder en “Ingen” eller “Ikke relevant”-mulighed, når nul valg er et gyldigt svar.
- For lange lister (15+ valg) bruges
minimal(rullemenu med flervalg) for at undgå overdreven scrolling. - Eksportér data og brug strengopdeling i dit analyseværktøj — det mellemrumsadskilte format kræver opdeling inden drejning.
Begrænsninger
- Select_multiple-værdier kan ikke sammenlignes direkte med
=. Brug altidselected(). - Det kompakte appearance gengives muligvis ikke godt for meget lange valglabels.
- Når valg filtreres med
choice_filter, gælder filtreringen for alle viste valg, ligesom medselect_one.