select_multiple質問タイプは、回答者が1つ以上のオプションを選択できるリストを表示します。デフォルトではチェックボックスとして表示されます。保存された値は、すべての選択された選択肢の値をスペース区切りのリストとして格納します。

基本XLSForm仕様

surveyワークシート:

typenamelabel
select_multiple cropscrops_grown世帯ではどの作物を栽培していますか?

choicesワークシート:

list_namenamelabel
cropsmaizeトウモロコシ
cropsbeans
cropsrice
cropsvegetables野菜
cropsotherその他

詳細についてはXLSForm仕様を参照してください。

保存データ形式

エクスポートされた列には、選択された値のスペース区切りリストが含まれます:

  maize beans vegetables
  

式でselect_multipleの値をテストする際は、=ではなくselected()関数を使用してください(下記参照)。

用途

Select_multiple質問は以下に使用されます:

  1. 複数の該当する回答の収集(例:収入源、栽培作物、症状)
  2. チェックボックス式の同意項目(例:「該当するものをすべて選択してください」)
  3. 言語やスキルのインベントリ
  4. 複数の回答が同時に有効な質問

外観オプション

外観説明
(なし)デフォルトのチェックボックス、1行に1つ
minimalドロップダウンマルチ選択ウィジェット
compactコンパクトグリッド、画面幅に応じて列数を調整
compact-NN列に強制されたコンパクトグリッド
horizontal水平行に配置された選択肢(Web)
horizontal-compact水平、コンパクトスペーシング(Web)
labelチェックボックスなしでラベルのみを表示(list-nolabelと使用)
list-nolabelラベルなしでチェックボックスのみを表示(labelと使用)
columns(N)N列で表示(rtSurvey拡張)

例:3列コンパクトレイアウト

typenamelabelappearance
select_multiple symptomssymptoms観察されたすべての症状を選択してくださいcompact-3

式でのselected()の使用

保存された値はスペース区切りの文字列であるため、特定の選択肢が選択されたかどうかをテストするには必ずselected()を使用してください。=を使用すると正しく機能しません。

relevantでの使用

「その他」が選択された場合にのみフォローアップ質問を表示する:

typenamelabelrelevant
select_multiple cropscrops_grownどの作物を栽培していますか?
textcrops_otherその他の作物を指定してくださいselected(${crops_grown}, 'other')

constraintでの使用

少なくとも2つの選択を要求する:

typenameconstraintconstraint_message
select_multiple issuesissuescount-selected(.) >= 2少なくとも2つの問題を選択してください

最大3つに制限する:

typenameconstraintconstraint_message
select_multiple prioritiesprioritiescount-selected(.) <= 3優先度は3つまでしか選択できません

calculateでの使用 — 選択ラベルの結合

selected-at()count-selected()choice-label()を組み合わせて読みやすいサマリーを構築する:

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

「上記のいずれでもない」/排他的オプション

一般的なパターンは、1つのオプションを他のすべてと相互に排他的にすることです。constraintを使用して強制します:

typenamelabelconstraintconstraint_message
select_multiple issuesissues存在するすべての問題を選択してくださいnot(selected(., 'none') and count-selected(.) > 1)「なし」は他のオプションと一緒に選択できません

choices:

list_namenamelabel
issueswater水不足
issuesroads道路状態が悪い
issueshealth医療サービスの欠如
issuesnone上記のいずれでもない

選択のカウントとサマリー

関数結果
count-selected(field)count-selected(${crops_grown})選択された選択肢の数
selected(field, value)selected(${crops_grown}, 'maize')true/false
selected-at(field, index)selected-at(${crops_grown}, 0)最初に選択された値
choice-label(field, value)choice-label(${crops_grown}, 'maize')値のラベル

ベストプラクティス

  1. relevantconstraintcalculateでは常にselected()を使用してください — =!=は使用しないでください。
  2. 質問設計で必要な場合は、最大選択数を制限するための制約を追加してください。
  3. ゼロ選択が有効な回答の場合は「なし」または「該当なし」オプションを含めてください。
  4. 長いリスト(15個以上の選択肢)の場合は、過度のスクロールを避けるためにminimal(マルチ選択ドロップダウン)を使用してください。
  5. データをエクスポートして分析ツールで文字列分割を使用してください — スペース区切り形式はピボット前に分割が必要です。

制限事項

  • Select_multipleの値は=で直接比較できません。常にselected()を使用してください。
  • コンパクト外観は選択肢ラベルが非常に長い場合には適切に表示されない場合があります。
  • choice_filterで選択肢をフィルタリングする場合、フィルタリングはすべての表示される選択肢に適用されます(select_oneと同様)。
このページは役に立ちましたか?