Peringkat
Pertanyaan peringkat memungkinkan responden mengurutkan sekumpulan pilihan berdasarkan preferensi atau prioritas.
Tipe pertanyaan rank menyajikan daftar pilihan yang harus diseret ke dalam urutan (atau diurutkan dari pertama hingga terakhir) oleh responden. Ini menyimpan hasilnya sebagai daftar nilai pilihan yang dipisahkan spasi dalam urutan yang dipilih, dengan pilihan prioritas tertinggi terlebih dahulu.
Spesifikasi XLSForm Dasar
| type | name | label |
|---|---|---|
| rank priorities | main_priority | Urutkan kebutuhan komunitas ini dari yang paling penting hingga kurang penting |
Pilihan didefinisikan dalam lembar kerja choices sama seperti select_one:
survey:
| type | name | label |
|---|---|---|
| rank priorities | main_priority | Urutkan kebutuhan ini dari yang paling hingga paling tidak penting |
choices:
| list_name | name | label |
|---|---|---|
| priorities | water | Air bersih |
| priorities | health | Layanan kesehatan |
| priorities | education | Pendidikan |
| priorities | roads | Jalan |
| priorities | electricity | Listrik |
Format nilai yang disimpan
Nilai yang disimpan adalah daftar nilai pilihan yang dipisahkan spasi dalam urutan peringkat (pertama = prioritas tertinggi):
water education health roads electricity
Mengekstrak posisi peringkat
Gunakan selected-at() untuk mendapatkan pilihan pada peringkat tertentu:
| type | name | label | calculation |
|---|---|---|---|
| rank priorities | main_priority | Urutkan kebutuhan komunitas | |
| calculate | top_priority | selected-at(${main_priority}, 0) | |
| calculate | second_priority | selected-at(${main_priority}, 1) |
selected-at(${main_priority}, 0) mengembalikan nilai yang ditempatkan pertama (indeks 0 = peringkat teratas).
Menggunakan rank-index() dengan grup pengulangan
Ketika rank digunakan dalam grup pengulangan, rank-index() memungkinkan Anda mereferensikan peringkat ordinal dari luar pengulangan:
| type | name | label | calculation |
|---|---|---|---|
| calculate | first_ranked | rank-index(1, ${score}) |
Lihat Fungsi — Fungsi bidang berulang untuk detail lengkap tentang rank-index() dan rank-index-if().
Penggunaan
Pertanyaan peringkat umum digunakan untuk:
- Peringkat prioritas — meminta komunitas untuk memberi peringkat kebutuhan pembangunan
- Urutan preferensi — memberi peringkat fitur produk, atribut layanan, atau opsi kebijakan
- Pengurutan item ujian — mengatur langkah-langkah dalam suatu proses
- Pemilihan Top-N — dikombinasikan dengan
selected-at()untuk mengekstrak hanya 1, 2, atau 3 pilihan teratas
Praktik Terbaik
- Jaga daftar tetap pendek (3–7 item) — peringkat menjadi melelahkan secara kognitif lebih dari 7–8 pilihan.
- Gunakan label pilihan yang jelas dan saling eksklusif untuk menghindari kebingungan tentang apa yang dimaksud dengan “pertama”.
- Tambahkan teks petunjuk yang menjelaskan arah peringkat (misalnya, “Seret untuk mengurutkan: pertama = paling penting”).
- Validasi menggunakan
count-selected(.) = xjika Anda perlu memastikan semua pilihan diberi peringkat.
Keterbatasan
- Widget seret-untuk-peringkat memerlukan layar sentuh atau mouse — mungkin tidak berfungsi baik di lingkungan hanya keyboard.
- Pada beberapa klien mobile yang lebih lama, widget peringkat mungkin beralih ke antarmuka input bernomor.
- Anda tidak dapat memberi peringkat sebagian (yaitu, hanya memberi peringkat beberapa pilihan) — semua pilihan harus diurutkan.