Tipe pertanyaan select_multiple menampilkan daftar di mana responden dapat memilih satu atau lebih opsi. Secara default pilihan dirender sebagai kotak centang. Nilai yang disimpan adalah daftar nilai pilihan yang dipilih yang dipisahkan spasi.

Spesifikasi XLSForm Dasar

Lembar kerja survey:

typenamelabel
select_multiple cropscrops_grownTanaman apa yang ditanam rumah tangga?

Lembar kerja choices:

list_namenamelabel
cropsmaizeJagung
cropsbeansKacang-kacangan
cropsriceBeras
cropsvegetablesSayuran
cropsotherLainnya

Untuk detail lebih lanjut lihat spesifikasi XLSForm.

Format data yang tersimpan

Kolom yang diekspor berisi daftar nilai yang dipilih yang dipisahkan spasi:

  maize beans vegetables
  

Gunakan fungsi selected() — bukan = — saat menguji nilai select_multiple dalam ekspresi (lihat di bawah).

Penggunaan

Pertanyaan select_multiple digunakan untuk:

  1. Mengumpulkan beberapa jawaban yang berlaku (misalnya, sumber pendapatan, tanaman yang ditanam, gejala)
  2. Item perjanjian gaya kotak centang (misalnya, “Pilih semua yang berlaku”)
  3. Inventaris bahasa atau keterampilan
  4. Pertanyaan apa pun di mana beberapa jawaban secara bersamaan valid

Opsi appearance

AppearanceDeskripsi
(tidak ada)Kotak centang default, satu per baris
minimalWidget multi-pilih dropdown
compactGrid kompak, kolom menyesuaikan lebar layar
compact-NGrid kompak dipaksakan ke N kolom
horizontalPilihan disusun secara horizontal dalam baris (web)
horizontal-compactHorizontal, jarak kompak (web)
labelHanya menampilkan label, tanpa kotak centang (gunakan dengan list-nolabel)
list-nolabelHanya menampilkan kotak centang, tanpa label (gunakan dengan label)
columns(N)Tampilkan dalam N kolom (ekstensi rtSurvey)

Contoh: Tata letak kompak 3 kolom

typenamelabelappearance
select_multiple symptomssymptomsPilih semua gejala yang diamaticompact-3

Menggunakan selected() dalam ekspresi

Karena nilai yang disimpan adalah string yang dipisahkan spasi, Anda harus menggunakan selected() untuk menguji apakah pilihan tertentu dipilih. Menggunakan = tidak akan bekerja dengan benar.

Dalam relevant

Tampilkan pertanyaan tindak lanjut hanya jika “other” dipilih:

typenamelabelrelevant
select_multiple cropscrops_grownTanaman apa yang ditanam?
textcrops_otherHarap tentukan tanaman lainnyaselected(${crops_grown}, 'other')

Dalam constraint

Wajibkan setidaknya 2 pilihan:

typenameconstraintconstraint_message
select_multiple issuesissuescount-selected(.) >= 2Pilih setidaknya 2 masalah

Batasi maksimum 3:

typenameconstraintconstraint_message
select_multiple prioritiesprioritiescount-selected(.) <= 3Pilih tidak lebih dari 3 prioritas

Dalam calculate — menggabungkan label yang dipilih

Gabungkan selected-at(), count-selected(), dan choice-label() untuk membangun ringkasan yang mudah dibaca:

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

Opsi “Tidak ada di atas” / opsi eksklusif

Pola umum adalah membuat satu opsi saling eksklusif dengan semua opsi lainnya. Gunakan constraint untuk menegakkannya:

typenamelabelconstraintconstraint_message
select_multiple issuesissuesPilih semua masalah yang adanot(selected(., 'none') and count-selected(.) > 1)“Tidak ada” tidak dapat dipilih bersamaan dengan opsi lain

choices:

list_namenamelabel
issueswaterKekurangan air
issuesroadsJalan yang buruk
issueshealthKurangnya layanan kesehatan
issuesnoneTidak ada di atas

Menghitung dan meringkas pilihan

FungsiContohHasil
count-selected(field)count-selected(${crops_grown})Jumlah pilihan yang dipilih
selected(field, value)selected(${crops_grown}, 'maize')true/false
selected-at(field, index)selected-at(${crops_grown}, 0)Nilai yang dipilih pertama
choice-label(field, value)choice-label(${crops_grown}, 'maize')Label untuk suatu nilai

Praktik Terbaik

  1. Selalu gunakan selected() dalam relevant, constraint, dan calculate — jangan pernah = atau !=.
  2. Tambahkan constraint untuk membatasi jumlah pilihan maksimum jika desain pertanyaan memerlukannya.
  3. Sertakan opsi “Tidak ada” atau “Tidak berlaku” ketika nol pilihan adalah jawaban yang valid.
  4. Untuk daftar panjang (15+ pilihan), gunakan minimal (dropdown multi-pilih) untuk menghindari pengguliran yang berlebihan.
  5. Ekspor data dan gunakan pemisahan string dalam alat analisis Anda — format yang dipisahkan spasi memerlukan pemisahan sebelum pivoting.

Keterbatasan

  • Nilai select_multiple tidak dapat dibandingkan langsung dengan =. Selalu gunakan selected().
  • Appearance kompak mungkin tidak dirender dengan baik untuk label pilihan yang sangat panjang.
  • Saat memfilter pilihan dengan choice_filter, pemfilteran berlaku untuk semua pilihan yang ditampilkan, sama seperti select_one.
Apakah halaman ini membantu?