カスケード式の選択と外部ファイルからの選択

カスケード式の選択を使用して、以前の質問に対する回答に基づいて使用可能な回答のリストを制限します。コンテンツは、XLSForm 自体または外部ファイルに保存できます。

カスケード式の選択

カスケード式の選択を使用して、以前の質問に対する回答に基づいて使用可能な回答のリストを制限します。 これによって調査が使用しやすくなり、ユーザーに関連するオプションのみを表示することで、選択リストを小さくできます。

階層内の各選択リストで次の操作を実行します。

  • [choices] タブの選択リストに値を入力します。
  • カスケード式の選択基準に 1 つ以上の列を追加します (country、state、city、suburb など)。
  • 追加の列に、各選択肢に関連する値を入力します。

選択リストに重複する選択肢名を含めることはお勧めしません。 詳細については、「複数の選択肢の質問」をご参照ください。

選択リストの入力の完了後は、[survey] タブに [choice_filter] 列を作成する必要があります。 この列には、選択リストの制限に使用する式が保存されます。 [choice_filter] 列には、state=${state_1} などの他のフィールドのコンテンツや、selected(${states_visited},state_code) などの式を入力できます。

カスケード式の選択の動作を確認するには、Survey123 Connect の「フィルターの選択」と「カスケード式の選択」のサンプルをご参照ください。

select_oneselect_multiplerank の質問でカスケード式の選択を使用できます。 カスケード式の選択は Survey123 Web アプリの rank の質問ではサポートされていません。

ヒント:

カスケード式の選択を使用する質問で構成されている調査の結果をレビューすると、送信した選択の名前のみが表示されます。 これは、選択フィルターがない select_one または select_multiple の質問の動作とは異なり、代わりに選択のラベルが表示されます。

別の質問で jr:choice-name() 関数を使用すると、質問の選択肢と関連付けられたラベルが返され、保存されます。 概念的に、これは jr:choice-name(string value, 'question name') で表現できます。

jr:choice-name(${city_choice}, '${city_choice}') では、最初のパラメーターは選択した値を表し、2 番目は質問の名前を表します。 質問の名前は引用符で囲んで定義する必要があります。

select_multiple の質問の場合、selected-at() 関数を使用して個々の回答のラベルを抽出する必要があります。 例:

jr:choice-name(selected-at(${city_choice}, 1), '${city_choice}')

jr:choice-name() 関数は、任意の文字列の質問に使用できます。 非表示の質問を使用するときは、[bind::esri:fieldType][bind::esri:fieldAlias] も定義してください。

注意:

Survey123 バージョン 3.12 以降では、選択リストが内部データベースを通じて管理されます。 つまり、カスケード式の選択と外部ファイルからの選択の列名に SQLite 予約済みキーワードを使用できません。

外部ファイルからの選択

カスケード式の選択に関連付けられた選択リストは大きくなる可能性があり、フォームのパフォーマンスに影響を及ぼすことがあります。 Survey123 には、外部ファイルにこれらのリストを保存し、要求に応じて調査に読み込むオプションがあります。

このオプションを実装するには、調査のスプレッドシートに [external_choices] というタブを作成します。 この新しいタブには、[choices] タブと同じ列見出しを含める必要があります。 調査が公開されると、[external_choices] タブの値が、フォーム アイテムの一部としてではなく、調査プロジェクトのメディア フォルダー内の itemsets.csv という名前のファイルに保存されます。 [external_choices] タブの選択リストを参照するには、select_one_external をリスト名の接頭辞に使用します。

外部ファイルからの選択は、外部ファイルからの選択リストとは異なります。これには [external_choices] ワークシートは必要ありません。

注意:

外部ファイルからの選択は、select_one の質問でのみ使用できます。 これらは select_multiple の質問ではサポートされていません。

外部ファイルからの選択は、カスケード式の選択と関連付けられる選択リストを操作するために設計されたものです。 適用された選択肢フィルターがある選択肢だけが itemsets.csv ファイルに追加されます。