rank 問題類型呈現一個選項列表,受訪者必須拖曳排序(或以其他方式從第一到最後排列)。它將結果儲存為以空格分隔的選項值列表(按選擇的順序排列),優先順序最高的選項排在最前面。

基本 XLSForm 規格

typenamelabel
rank prioritiesmain_priority按重要性從高到低排列這些社區需求

選項在choices 工作表中定義,就像 select_one 一樣:

survey:

typenamelabel
rank prioritiesmain_priority按重要性從高到低排列這些需求

choices:

list_namenamelabel
prioritieswater清潔水源
prioritieshealth醫療保健
prioritieseducation教育
prioritiesroads道路
prioritieselectricity電力

儲存值格式

儲存值是按排序順序排列的以空格分隔的選項值列表(第一位 = 優先順序最高):

  water education health roads electricity
  

提取排序位置

使用 selected-at() 獲取特定排名的選項:

typenamelabelcalculation
rank prioritiesmain_priority排列社區需求
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() 的完整詳細資訊,請參閱函數——重複字段函數

用途

排序問題通常用於:

  1. 優先順序排列——讓社區對發展需求排序
  2. 偏好排序——對產品功能、服務屬性或政策選項排序
  3. 考試項目排序——排列流程中的步驟
  4. 前 N 項選擇——與 selected-at() 結合使用,只提取前 1、2 或 3 個選項

最佳實踐

  1. 保持列表簡短(3–7 個項目)——超過 7–8 個選項後,排序在認知上會變得費力。
  2. 使用清晰、互斥的選項標籤,以避免對「第一」含義的混淆。
  3. 添加提示文字說明排序方向(例如「拖曳排序:第一 = 最重要」)。
  4. 如果需要確保所有選項都已排序,使用 count-selected(.) = x 進行驗證。

限制

  • 拖曳排序小工具需要觸控螢幕或滑鼠——在僅限鍵盤的環境中可能無法正常工作。
  • 在某些較舊的行動客戶端上,排序小工具可能會退回到數字輸入介面。
  • 您不能部分排序(即只對某些選項排序)——所有選項都必須排序。
此頁面有幫助嗎?