select_multiple-kysymystyyppi näyttää luettelon, josta vastaaja voi valita yhden tai useamman vaihtoehdon. Oletuksena valinnat näytetään valintaruutuina. Tallennettu arvo on välilyönneillä eroteltu lista kaikista valituista vaihtoehtoarvoista.

XLSForm-perusmäärittely

survey-laskentataulukko:

typenamelabel
select_multiple cropscrops_grownMitä viljelyskasveja kotitalous kasvattaa?

choices-laskentataulukko:

list_namenamelabel
cropsmaizeMaissi
cropsbeansPavut
cropsriceRiisi
cropsvegetablesVihannekset
cropsotherMuu

Lisätietoja löytyy XLSForm-spesifikaatiosta.

Tallennetun tiedon muoto

Viety sarake sisältää välilyönneillä erotelun listan valituista arvoista:

  maize beans vegetables
  

Käytä selected()-funktiota — ei =:a — testatessasi select_multiple-arvoja lausekkeissa (katso alla).

Käyttötarkoitukset

Select_multiple-kysymyksiä käytetään:

  1. Useiden soveltuvien vastausten keräämiseen (esim. tulonlähteet, viljeltävät kasvit, oireet)
  2. Valintaruutu-tyylisiin suostumuseriin (esim. “Valitse kaikki sopivat”)
  3. Kieli- tai taitoinventaareihin
  4. Mihin tahansa kysymykseen, jossa useammat vastaukset ovat samanaikaisesti voimassa

Ulkoasuvaihtoehdot

UlkoasuKuvaus
(ei mitään)Oletusvalintaruudut, yksi per rivi
minimalPudotusvalikko monivalintawidget
compactKompakti ruudukko, sarakkeet mukautuvat näytön leveyteen
compact-NKompakti ruudukko pakotettuna N sarakkeeseen
horizontalValinnat järjestetty vaakasuoraan riviin (verkko)
horizontal-compactVaakasuora, kompakti välistys (verkko)
labelNäyttää vain otsikot, ei valintaruutuja (käytä list-nolabel kanssa)
list-nolabelNäyttää vain valintaruudut, ei otsikoita (käytä label kanssa)
columns(N)Näyttää N sarakkeessa (rtSurvey-laajennus)

Esimerkki: 3 sarakkeen kompakti asettelu

typenamelabelappearance
select_multiple symptomssymptomsValitse kaikki havaitut oireetcompact-3

selected()-funktion käyttö lausekkeissa

Koska tallennettu arvo on välilyönneillä eroteltu merkkijono, sinun täytyy käyttää selected():a testataksesi onko tietty valinta tehty. =:n käyttö ei toimi oikein.

relevant-sarakkeessa

Näytä jatkokysymys vain jos “muu” on valittu:

typenamelabelrelevant
select_multiple cropscrops_grownMitä kasveja viljellään?
textcrops_otherTäsmennä muut kasvitselected(${crops_grown}, 'other')

constraint-sarakkeessa

Vaadi vähintään 2 valintaa:

typenameconstraintconstraint_message
select_multiple issuesissuescount-selected(.) >= 2Valitse vähintään 2 ongelmaa

Rajoita enintään 3:een:

typenameconstraintconstraint_message
select_multiple prioritiesprioritiescount-selected(.) <= 3Valitse enintään 3 prioriteettia

calculate-sarakkeessa — valittujen otsikoiden yhdistäminen

Yhdistä selected-at(), count-selected() ja choice-label() lukevan yhteenvedon rakentamiseksi:

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

“Ei mitään yllä olevista” / yksinomainen vaihtoehto

Yleinen malli on tehdä yksi vaihtoehto molemminpuolisesti eksklusiiviseksi kaikkien muiden kanssa. Käytä constraint-saraketta sen pakottamiseksi:

typenamelabelconstraintconstraint_message
select_multiple issuesissuesValitse kaikki läsnä olevat ongelmatnot(selected(., 'none') and count-selected(.) > 1)“Ei mitään” ei voi olla valittuna muiden vaihtoehtojen kanssa

choices:

list_namenamelabel
issueswaterVesipula
issuesroadsHuonot tiet
issueshealthTerveydenhuollon puute
issuesnoneEi mitään yllä olevista

Valintojen laskeminen ja yhteenveto

FunktioEsimerkkiTulos
count-selected(field)count-selected(${crops_grown})Valittujen vaihtoehtojen lukumäärä
selected(field, value)selected(${crops_grown}, 'maize')tosi/epätosi
selected-at(field, index)selected-at(${crops_grown}, 0)Ensimmäinen valittu arvo
choice-label(field, value)choice-label(${crops_grown}, 'maize')Arvon otsikko

Parhaat käytännöt

  1. Käytä aina selected():a relevant-, constraint- ja calculate-sarakkeissa — ei koskaan = tai !=.
  2. Lisää rajoite valintojen enimmäismäärän rajoittamiseksi, jos kysymyssuunnittelu sitä vaatii.
  3. Sisällytä “Ei mitään”- tai “Ei sovellettavissa”-vaihtoehto, kun nolla valintaa on kelvollinen vastaus.
  4. Pitkille luetteloille (15+ valintaa) käytä minimal-ulkoasua (monivalintapudotusvalikko) liiallisen vierittämisen välttämiseksi.
  5. Vie tiedot ja käytä merkkijonon jakamista analyysivälineessäsi — välilyönneillä eroteltu muoto vaatii jakamisen ennen pivotointia.

Rajoitukset

  • Select_multiple-arvoja ei voi verrata suoraan =:lla. Käytä aina selected().
  • Kompakti ulkoasu ei välttämättä renderöidy hyvin erittäin pitkille valintojen otsikoille.
  • Kun valintojen suodatus on käytössä choice_filter:llä, suodatus koskee kaikkia näytettäviä valintoja, kuten select_one.
Oliko tämä sivu hyödyllinen?