Тип питання rank представляє список варіантів, які респондент повинен перетягнути у порядку (або іншим чином ранжувати від першого до останнього). Він зберігає результат як список значень варіантів, розділений пробілами, у вибраному порядку, причому варіант найвищого пріоритету — першим.

Базова специфікація XLSForm

typenamelabel
rank prioritiesmain_priorityRank these community needs from most to least important

Варіанти визначаються в таблиці choices так само, як для select_one:

Таблиця survey:

typenamelabel
rank prioritiesmain_priorityRank these needs from most to least important

Таблиця choices:

list_namenamelabel
prioritieswaterClean water
prioritieshealthHealthcare
prioritieseducationEducation
prioritiesroadsRoads
prioritieselectricityElectricity

Формат збережених даних

Збережене значення — це список значень варіантів, розділений пробілами, у ранжованому порядку (перше = найвищий пріоритет):

  water education health roads electricity
  

Вилучення ранжованих позицій

Використовуйте selected-at() для отримання варіанту на певному рангу:

typenamelabelcalculation
rank prioritiesmain_priorityRank community needs
calculatetop_priorityselected-at(${main_priority}, 0)
calculatesecond_priorityselected-at(${main_priority}, 1)

selected-at(${main_priority}, 0) повертає значення, поміщене першим (індекс 0 = найвищий ранг).

Використання rank-index() з групами повторів

Коли rank використовується всередині групи повторів, rank-index() дозволяє посилатися на порядковий ранг ззовні повтору:

typenamelabelcalculation
calculatefirst_rankedrank-index(1, ${score})

Дивіться Функції — Функції полів повторів для повної інформації про rank-index() та rank-index-if().

Використання

Питання типу rank зазвичай використовуються для:

  1. Ранжування пріоритетів — прохання громад ранжувати потреби розвитку
  2. Впорядкування переваг — ранжування функцій продукту, атрибутів послуг або варіантів політики
  3. Впорядкування кроків іспиту — розташування кроків у процесі
  4. Вибір топ-N — у поєднанні з selected-at() для вилучення лише топ 1, 2 або 3 варіантів

Найкращі практики

  1. Тримайте список коротким (3–7 елементів) — ранжування стає когнітивно виснажливим понад 7–8 варіантів.
  2. Використовуйте чіткі, взаємовиключні мітки варіантів, щоб уникнути плутанини щодо того, що означає “перший”.
  3. Додайте текст підказки, що пояснює напрямок ранжування (наприклад, “Перетягніть для впорядкування: перший = найважливіший”).
  4. Валідуйте за допомогою count-selected(.) = x, якщо потрібно переконатися, що всі варіанти ранжовані.

Обмеження

  • Віджет перетягування для ранжування вимагає сенсорного екрана або миші — він може погано працювати в середовищах лише з клавіатурою.
  • На деяких старих мобільних клієнтах віджет rank може переходити до інтерфейсу з нумерованим введенням.
  • Неможливо ранжувати частково (тобто ранжувати лише деякі варіанти) — усі варіанти повинні бути впорядковані.
Чи була ця сторінка корисною?