Survey123 は select_one (1 つだけの回答を選択)、select_multiple (複数の回答を選択)、および rank (選択肢のリストを順序付け) の質問をサポートしています。
注意:
ランクの質問は、現在、フィールド アプリと Web アプリでのみサポートされています。
複数の選択肢の質問を記述するには、Excel ワークブックに choices ワークシートを追加する必要があります。 select_one の質問の例を次に示します。


survey ワークシートの yes_no のリスト名は、choices ワークシート内のリスト名と一致する必要があります。 これにより、特定の質問に対して、回答の選択肢の正しいリストがフォームに表示されるようになります。
デフォルトでは、調査の公開時に、調査のフィーチャ レイヤーに select_one 質問の選択肢がコード値ドメインとして追加されます。 公開プロセス中にドメインの作成を無効化できます。 詳細については、「公開オプション」をご参照ください。
注意:
重複する選択肢名がある選択リストを使用する場合、次の制限があります。
- 重複する選択肢名は、select_multiple の質問ではサポートされていません。
- 重複する選択肢名は、多言語の調査ではサポートされていません。
- jr:choice-name() 関数は、リスト内で最初の重複する選択肢のラベルを返します。
- [受信トレイ]、[ドラフト]、[送信トレイ]、[送信済み]、または [概要] フォルダーから開くと、select_one の質問はリスト内で最初の重複する選択肢に戻ります。
既存の調査内の選択肢リストを修正する場合のその他の考慮事項については、「調査の更新」をご参照ください。
次のように、複数回答を選択可能な、複数の選択肢の質問を追加することもできます。


デフォルトでは、これらの選択肢は choices ワークシートで設定された順序で表示されます。 さらに、parameters 列に randomize=true と入力することで、選択肢の表示順をランダムにするオプションもあります。
注意:
select_multiple または rank の質問で収集されたすべての値は、カンマ区切りのリストとして保存されるため、選択リストの名前の列にカンマを使用しないでください。 また、select_multiple および rank の質問は、select_one の質問により送信される名前とラベルではなく、選択の名前だけをフィーチャ レイヤーに送信することに注意してください。
rank の質問の値は、ユーザーによって選択肢の順序が変更されるまで空のままです。 デフォルト値が設定されている場合は、ユーザーによって選択肢の順序が変更されなければ、そのデフォルトの順序が適用されます。
select_multiple の質問に対する個々の回答は、selected-at 関数を使用して返すことができます。 以下は、select_multiple の質問に対する最初の回答の名前値を返します。
selected-at(${species}, 0)
回答のラベルを送信するには、jr:choice-name 関数を使用できます。 同じ select_multiple の質問に対する 2 番目の回答のラベル値を取得するには、以下を使用します。
jr:choice-name(selected-at(${species}, 1), '${species}')
表示設定
[appearance] 列を [minimal] に設定すると、選択の質問がドロップダウン メニューに表示されます。

[appearance] 列を [horizontal] に設定すると、選択の質問の選択肢が等幅の列に水平に表示されます。

[compact] の表示設定は [horizontal] の表示設定と似ていますが、列の幅の決定方法が異なるので、選択肢の表示領域が狭くなる可能性があります。
注意:
Survey123 Connect では、[compact] の表示設定の最大列数は、ハイフンで区切って数値を入力することで指定できます。 たとえば、[compact-3] を選択すると、フィールド アプリまたは Web アプリで使用される調査の複数の選択肢の質問では、質問が最大で 3 列に制限されます。
[compact] と [horizontal-compact] の表示設定は同じです。 Survey123 Web アプリでは、これらの表示設定は列を使用せず、間隔なしで行に並んだ選択の質問の選択肢ラベルに適合します。
select_one の質問の場合、[appearance] 列を [likert] に設定すると、選択肢がリッカート尺度として表示されます。 リッカート尺度とは評価用の尺度で、回答者が左右対称の賛成/反対のステートメント尺度で、自分がどの程度同意するか、明示することができます。

[appearance] を [autocomplete] に設定すると、選択の質問がテキスト フィールドとドロップダウン メニューで表示されます。 フィールドにテキストを入力すると、ドロップダウン メニューがそのテキストを含む回答のみに制限されます。 選択肢リストが非常に長い場合に便利です。

注意:
select_multiple の質問の [autocomplete] の表示設定は、Survey123 Mobile でのみサポートされています。 フィールド アプリや Web アプリではサポートされていません。
[appearance] を [search] に設定すると、選択の質問の選択肢リストに、調査の [media] フォルダー内の CSV テーブルまたは既存のフィーチャ レイヤーもしくはテーブルから値を入力できます。 詳細については、「検索表示設定を使用した動的選択肢リストの作成」をご参照ください。
[appearance] を [image-map] に設定すると、SVG ファイルを使用し、画像内の領域をタップして選択できる形式で、フィールド アプリ内で選択の質問を表示できます。 詳細については、「SVG ファイルの操作」をご参照ください。
search 表示設定を使用した動的選択肢リストの作成
注意:
このセクションでは、Survey123 Connect と Survey123 フィールド アプリでのみ利用可能な機能について説明します。この機能は、Survey123 Studio や Survey123 Mobile では利用できません。
単一選択肢の質問と複数選択肢の質問は [search] 表示設定をサポートしています。これを使用することで、調査の [media] フォルダー内の CSV テーブルまたは既存のフィーチャ レイヤーもしくはテーブルから値を選択肢リストに入力できます。 [search] 表示設定を使用する場合も、choices ワークシートの入力を含める必要があります。ただし、それぞれの選択肢をリストする代わりに、既存のフィーチャ レイヤーまたはテーブルからフィールド名を参照します。
次の例では、[us_states] という名前の選択肢リストが choices ワークシートに定義されており、選択名とラベルの両方で [STATE_NAME] フィールドを使用します。

次の例では、この選択肢リストは、他の選択肢リストと同じ方法で survey ワークシートで参照されます。ただし今回は、選択肢を取得する既存のフィーチャ レイヤーを参照する、search 表示設定の式が含まれます。

search 表示設定の式は次のように作成します。変数はカンマで区切ります。
search(tableName, searchType, searchColumn, searchText, filterColumn, filterText)tableName パラメーターは、調査の media フォルダーの .csv ファイルの名前 (例: airports) か、名前を先頭に付けたフィーチャ レイヤーまたはマップ サービス レイヤーの URL を使用し、Survey123 が内部的にテーブルを参照できるようにします。 このテーブル名はホスト レイヤーの名前と一致する必要はありませんが、Survey123 が内部的に検索を参照する方法であるため、調査で使用されるその他すべてのテーブル名や .csv ファイルとは異なる必要があります。 必要に応じ、フィーチャ レイヤーまたはマップ サービス レイヤーの REST エンドポイントにクエリー リクエスト パラメーターを追加し、検索動作を構成できます。 次の例では、resultRecordCount パラメーターにフィーチャ レイヤー URL が追加され、選択肢リストに最初の 10 件のクエリー結果が入力されます。検索は、airports という名前で内部に格納されます。
"airports?url=https://services1.arcgis.com/e7dVfn25KpfE6dDd/arcgis/rest/services/Airports2/FeatureServer/0&resultRecordCount=10"WHERE 句を使用して、選択肢リストもフィルターできます。 次の例を tableName として使用すると、名前が Alabama または Alaska 以外の州を表示するように選択肢リストがフィルターされます。"state?url=https://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/USA_States_Generalized_Boundaries/FeatureServer/0&where=STATE_NAME
NOT IN('Alabama', 'Alaska')"
注意:
特殊文字を含む検索パラメーターは、調査が Survey123 で使用される場合、エンコードする必要があります。エンコーディングによって、特殊文字 (式内のワイルドカードなど) がパーセント記号 (%) とその後に続く特殊文字の 16 進数表記に置き換わります。
以下の追加のパラメーターはオプションですが、検索結果を絞り込むために使用できます。
| パラメーター | 説明 |
|---|---|
searchType | 実行される検索のタイプを制御し、検索対象のテーブルがフィーチャ レイヤー内の空間テーブルであるか、または CSV またはフィーチャ テーブルの非空間テーブルであるかに応じて、異なる値を使用します。 空間テーブルの場合、使用できる検索タイプは intersects、contains、crosses、envelope_intersects、index_intercepts、overlaps、touches、within です。 詳細については、「空間リレーションシップ」をご参照ください。 非空間テーブルの場合、サポートされる検索タイプは contains、startswith、endswith、matches です。 |
searchColumn | searchText パラメーターのテキストを検索する列を指定します。 これらの列は、テーブル自体から取り出されたものです。 さらに、フィーチャ レイヤーの空間テーブルは、@geopoint、@geotrace、@geoshape 列を検索できます。 |
searchText | 検索対象で、かつ searchColumn パラメーターで返されるテキストが含まれます。 |
さらに、以下のフィルター パラメーターを検索式に追加することで、選択肢リスト値をさらに絞り込むことができます。
| パラメーター | 説明 |
|---|---|
filterColumn | filterText パラメーターで指定されたテキストの一致を検索する列を設定します。 検索クエリーは、このテキストを含む結果のみを返します。 filterColumn パラメーターおよび filterText パラメーターは、一緒に使用される必要があります。 |
filterText | filterColumn パラメーターが指定した列で検索対象となっているテキスト。 filterColumn パラメーターおよび filterText パラメーターは、一緒に使用される必要があります。 |
以下の検索式には、search の表示形式のオプションのパラメーターがいくつか含まれています。 前の質問を検索テキストとして使用し、.csv ファイルの内容を選択肢リストに設定します。
search('csvName', 'matches', 'breed', ${DogQuestion})
注意:
表示設定が [autocomplete] の選択の質問と同じように、表示設定が [search] の質問が Survey123 Web アプリに表示されます。
その他の指定
複数の選択肢の質問では、希望する選択肢がリストにないときに、[other] を選択するオプションを調査に含めることがあります。 この場合、回答者にその他オプションを指定するように求めることができます。 これを行うには、XLSForm で手動による方法または組み込みによる方法を使用できます。 組み込みによる方法の方が手動による方法よりも短時間かつ簡単に構成できますが、いくつかの制約があります。
手動による方法
手動による方法では、other 選択肢の名前とラベル、およびその他の回答を収集するテキストの質問の名前とラベルを指定できるため、この方法が推奨されます。 これらの名前とラベルの翻訳を入力できます。 テキストの質問に制約と表示設定を適用したり、質問を必須に設定したりすることもできます。
最初に、choices ワークシート上の質問の選択リストに other 選択肢を追加します。 リスト内の他の選択肢に指定したときと同様に、この選択肢の名前とラベルを指定します。 次の例では、color 選択リストに other という名前の選択肢があります。

survey ワークシートで、その他の回答を収集するテキストの質問を追加します。 other 選択肢を選択したときにだけテキストの質問がたずねられるようにするため、条件式を追加します。 次の例では、select_one 質問の回答が other の場合に other_color 質問がたずねられます。

多言語の調査の場合、質問と選択肢を翻訳できます。 次の例では、survey ワークシート上で select_one 質問とテキストの質問の両方にフランス語とギリシャ語の翻訳が用意されています。

翻訳は choices ワークシート上の other を含む選択肢にも用意されています。

組み込みによる方法
この組み込みによる方法では、Survey123 Studio と Survey123 Connect は、other の回答を収集するために自動的に other 選択肢と質問を作成します。 この方法を使用するには、survey ワークシートの [type] 列内の選択リスト名の後ろに「or_other」と入力します。 質問の選択肢のリストに選択肢として [Other] が追加されます。 選択肢として [Other] を選択すると、質問として [Specify other] が表示され、ユーザーは独自の回答を入力できるようになります。 この回答を保存するために、Survey123 Studio と Survey123 Connect では、「_other」 の前に複数の選択肢がある質問の名前を付けた追加のフィールド (例: favorite_toppings_other) がフィーチャ レイヤーに自動的に作成されます。 以下の例をご参照ください。

注意:
質問 [Specify other] のラベルは英語以外の言語では表示されません。
既存のフィーチャ レイヤーから調査を作成する場合、質問 [Specify other] のフィールドは自動的に作成されないため、調査は公開されません。 「_other」の前に複数の選択肢がある質問の名前を付けて (例: 「favorite_toppings_other」)、質問 [Specify other] 用のフィールドを手動でフィーチャ レイヤーに作成する必要があります。
外部の選択リスト
select_one 質問と select_multiple 質問の選択リストは、外部の .csv ファイルに保存できます。 これは、非常に長い選択リスト、複数の選択リストを含む調査、および Survey123 以外で管理される選択リストに最適です。 外部の選択リストを外部ファイルからの選択と混同しないようにします。外部ファイルからの選択では、選択肢を追加のワークシートに一覧表示する必要があります。
.csv ファイルには name 列と label 列が含まれる必要があります。
注意:
.csv ファイルに列ヘッダーがないか、ファイルの行の末尾に後続のカンマがある場合は、調査へのファイルのインポートが失敗します。
最適な結果を得るためには、UTF-8 文字エンコーディングを使用して .csv ファイルをエンコードしてください。 Microsoft Excel を使用して .csv ファイルを作成している場合は、「CSV UTF-8」で保存します。
翻訳された label 列を .csv ファイルに含めることができますが、翻訳された選択肢は Survey123 Studio、Survey123 Connect。Survey123 Mobile、およびフィールド アプリでのみ表示され、Web アプリでは表示されません。
外部の選択リストに質問を含めるには、質問タイプ (select_one_from_file または select_multiple_from_file) を入力し、その後に .csv ファイルの名前を続けます (例: select_one_from_file CoverType.csv)。 ファイル名には大文字と小文字の区別があり、スペースを含めることはできません。
.csv ファイルは 2 つの方法で追加できます。調査の media フォルダーに手動で配置する方法か、ArcGIS でホストされている .csv ファイルにリンクする方法です。
ヒント:
選択肢リストの CSV への変換ツールを実行し、choices ワークシートから .csv ファイルに選択肢リストを自動的に移行します。
.csv ファイルをリンク
注意:
このセクションでは、Survey123 Connect と Survey123 フィールド アプリでのみ利用可能な機能について説明します。この機能は、Survey123 Studio や Survey123 Mobile では利用できません。
ArcGIS コンテンツの .csv ファイルを調査にリンクさせるには、次の手順を実行します。
- .csv ファイルが ArcGIS OnlineArcGIS Enterprise でホストされており、調査と同じ共有権限を持っていることを確認します。
- コンテンツのリンクを行う前に、調査が ArcGIS に公開されていることを確認します。
- Survey123 Connect で調査を開き、[リンクされたコンテンツ] タブをクリックします。 [リンク コンテンツ] ボタンをクリックし、[CSV] を選択して、リンクする .csv ファイルを参照して選択します。
フォームのプレビューで、リンクされた .csv ファイルの選択肢を表示するには、Survey123 Connect の [リンク コンテンツ] タブでダウンロード ボタン
をクリックします。 これにより、.csv ファイルのコピーが調査の media フォルダーに配置されます。 フィールド アプリでは、リンクされたファイルが調査と一緒に自動的にダウンロードされます。
調査の media フォルダーに .csv ファイルを手動で配置し、後から同じ名前の .csv ファイルを ArcGIS にアップロードして、それを調査にリンクさせると、調査内の .csv ファイルはリンクされたコンテンツで更新されます (リンクされたコンテンツの方が新しい場合)。
選択肢リストの CSV への変換
注意:
このセクションでは、Survey123 Connect と Survey123 フィールド アプリでのみ利用可能な機能について説明します。この機能は、Survey123 Studio や Survey123 Mobile では利用できません。
Survey123 Connect の [選択肢リストの CSV への変換] ツールを実行し、choices ワークシートからメディア フォルダー内の新しい .csv ファイルに、指定された選択肢リストを自動的に移行します。 また、このツールは、select_one_from_file および select_multiple_from_file の質問タイプを使用するよう、調査ワークシート内の対応する質問を修正します。
ツールを実行するには、次の手順に従ってください。
- ツールを実行できるよう、Python の Survey123 Connect 環境を構成します。 詳細については、「Python の構成」をご参照ください。
- 調査の XLSForm を開きます。 [choices] ワークシートに「esri_tool_convert_csv」という列を追加します。 外部選択肢リストに変換したい各選択肢リストの少なくとも 1 行に「yes」値を追加します。 編集したファイルを保存して閉じます。
- Survey123 Connect で調査を開き、[ツール] をクリックして [選択肢リストの CSV への変換] を選択します。
変換が完了すると、移行した各選択肢リストのメディア フォルダーに .csv ファイルが保存されます。 ファイル名は、元の選択肢リスト名の値 (list_name 列) と一致します。 choices ワークシートが更新され、移行されていない残りのリストのみが表示されます。 しかし、オリジナルのカスタム列ヘッダーは含まれたままです。 survey ワークシートで、該当する select_one および select_multiple の質問を select_one_from_file および select_multiple_from_file に変更し、新しい外部選択肢リストを参照するようにします。 元の choices ワークシートは choices_backup ワークシートに保存されるので、結果を確認したり、元に戻したりできます。 backup ワークシートは保持することも削除することもできます。
ツールは、rank の質問、table-list グループ、または検索の表示設定を持つ質問で使用される選択肢リストは変換しません。 これらの選択肢リストを使用する質問は、調査では変更されません。
ツールがサポートされていない質問を検出すると、影響を受ける選択肢リスト名を持つ .xlsx ファイルがデバッグ フォルダーに作成されます。 このファイルは、次のフォルダーにあります。
C:\Users\<username>\ArcGIS\My Survey Designs\<surveyName>\debug\convertchoicelists