クイック リファレンス

ArcGIS Survey123 は、多数の XLSForm 仕様をサポートしています。 このリファレンス ガイドでは、Survey123 で使用できる XLSForm 機能のサマリーを示します。 調査は Survey123 Connect または Survey123 Web サイトのいずれかで作成できます。機能の中にはどちらか片方のみで使用できるものと、両方で使用できるものがあります。

質問タイプ

次の表は、Survey123 ConnectSurvey123 フィールド アプリ、Survey123 Web デザイナー、Survey123 Web アプリで利用可能な質問タイプについて説明したものです。 質問によっては、プラットフォーム間で動作と実装に相違がある場合があります。これらの相違点については、この表の後の注記をご参照ください。

Survey123 Connect 質問タイプSurvey123 Web デザイナーの質問タイプ説明Survey123 フィールド アプリでサポートSurvey123 Web アプリでサポート
audio⁴オーディオ⁴ ⁶

フィールド アプリにオーディオ クリップを記録します。Web アプリにオーディオ クリップを記録するか、アップロードされたオーディオ ファイルを許可します。

はい

はい

barcode

N/A

バーコードまたは QR コードをスキャンします。

はい

はい

begin group

グループページ

質問のグループを開始します。

はい

はい

begin repeat

N/A

一連の繰り返しの質問を開始します。

はい

はい

計算

N/A

フォームの値に対して計算を実行します。 calculate フィールドには計算の結果が格納されます。

はい

はい

decimal¹

数値¹ ⁶

小数の入力。

はい

はい

date

日付⁶

日付の入力。

はい

はい

dateTime

日時⁶

日時の入力。

はい

はい

deviceid

N/A

調査が取得された特定のデバイスを表す UUID。

はい

いいえ

email²

N/A

組織アカウントでサイン インすると、この質問にはアカウントの電子メール アドレスが自動的に追加されます。

はい

はい

end

N/A

調査の終了日時。

はい

はい

end group

グループページ

質問のグループを終了します。

はい

はい

end repeat

N/A

一連の繰り返しの質問を終了します。

はい

はい

file

ファイル アップロード

デバイス上のファイルを取り込みます。

はい

はい

geopoint³

マップ³ ⁶

指定された GPS 座標を収集します。 デフォルト設定は現在の場所です。

はい

はい

geoshape³

マップ上のポリゴンを収集します。

はい

はい

geotrace³

マップ上のラインを収集します。

はい

はい

非表示

N/A

フォームに表示されないフィールドをフィーチャ レイヤー内に作成します。 [bind::esri:fieldType] 列と [bind::esri:fieldLength] 列を使用して、このフィールドのデータ スキーマを指定します。

はい

はい

integer¹

数値¹ ⁶

整数の入力。

はい

はい

画像

画像署名

デバイスのファイルにある画像または直接撮影した写真のいずれかを取り込みます。

はい

はい

note

メモ⁶

画面上にテキストを表示します。 メモでは非表示の計算も処理できます。

はい

はい

範囲スライダー⁶

指定範囲の数の入力。

はい

はい

rank list_name

ランキング⁶

ランキングの質問。選択肢のリストの順序を決定します。 list_name を選択リストの名前に置き換えます。

はい

はい

select_one list_name

ドロップダウン⁵ ⁶リッカート尺度⁵ ⁶評価⁶単一選択⁶単一選択グリッド⁶

複数の選択肢の質問で、選択できるのは 1 つの回答のみ。 list_name を選択リストの名前に置き換えます。

はい

はい

select_one_from_file file_name.csv

N/A

複数の選択肢の質問で、選択できるのは 1 つの回答のみ。 file_name.csv を、調査のメディア フォルダー内にある、選択肢のリストを含むファイルの名前で置き換えます。

はい

はい

select_multiple list_name

複数選択⁶

複数の選択肢の質問で、複数の回答を選択できます。 list_name を選択リストの名前に置き換えます。

はい

はい

select_multiple_from_file file_name.csv

N/A

複数の選択肢の質問で、複数の回答を選択できます。 file_name.csv を、調査のメディア フォルダー内にある、選択肢のリストを含むファイルの名前で置き換えます。

はい

はい

start

N/A

調査の開始日時。

はい

はい

text

住所⁶電子メール⁶複数行テキスト⁵ ⁶単一行テキスト⁶Web サイト⁶

フリー テキストの回答。 正規表現は電子メールと Web サイトに適用されます。 ジオコードの表示設定は住所に適用されます。

はい

はい

time

時間⁶

時間の入力。

はい

はい

username

N/A

組織アカウントでサイン インすると、この質問にはアカウントのユーザー名が自動的に追加されます。

はい

はい

¹Web デザイナーでは、integer と decimal の質問が「数値」という単一の質問タイプに統合されます。 質問のプロパティにチェックボックスを使用すると、調査デザイナーは必要な入力を定義できます。

²Survey123 ConnectSurvey123 Web デザイナーで提供される email 質問タイプの実装は異なります。 Survey123 Connect での実装には、ユーザーがサイン インした組織アカウントの電子メール アドレスが自動的に入力されます。 Survey123 Web デザイナーでの実装は、電子メール アドレスに一致する書式設定のみを許可するテキスト フィールドです。

³geopoint、geotrace、geoshape の質問は、「マップ」という単一の質問タイプに統合されました。 質問のプロパティにチェックボックスを使用すると、調査デザイナーは必要な入力を定義できます。 「住所」という名前の追加の質問タイプでは、ジオコーディングされたポイントを送信できます。

⁴オーディオの質問では Survey123 フィールド アプリでアップロードできませんが、Web アプリでは可能です。フィールド アプリでオーディオのアップロードを許可するには、ファイルの質問を使用します。

Survey123 Connect で使用可能な複数の表示設定は、Survey123 Web デザイナーの個別の質問タイプとしても使用可能です。 これらの質問タイプには、複数行テキスト、ドロップダウン、リッカート尺度が含まれます。

⁶質問ごとに、Web デザイナーには、回答をキャッシュするオプションが表示されます。 Web アプリでは、調査レコードの送信後、質問に対する回答がブラウザーにキャッシュされ、そのデバイスでこの調査に対して次に送信を行う際にあらかじめ読み込まれます。 回答のキャッシュは、オーディオ、画像、ファイルのアップロード、署名を除くすべての質問タイプに対して設定できます。

survey ワークシートの列

次の表に、Survey123 でサポートされているすべての列を示します。 これらの列は、Advanced テンプレートの survey ワークシートに含まれており、ワークシートに表示される順番でテーブルにリストされます。

説明
type

指定されたリストから質問タイプを選択します。 select_one または select_multiple の質問を使用する場合、有効なリスト名を入力します。

name

フィーチャ レイヤーのフィールド名。

ラベル

調査で表示される質問のラベル。

hint

調査の質問に答えるのに役立つ情報。

guidance_hint

アイコンをクリックした後のみ表示される追加の情報。

appearance

調査内のこのフィールドの表示設定を選択します。

必須

[yes] を選択すると、調査を完了する前に、このフィールドに値が必要になります。

required_message

必須フィールドに回答がない場合、回答を求めるために、この列のメッセージが表示されます。

readonly

[yes] を選択すると、このフィールドの値が読み取り専用に設定されます。 これらの値は、調査内で編集できません。

default

このフィールドのデフォルト値を設定します。 調査にデフォルト値を設定します。 これを使用すると、よく使用される回答を提供するか、予想される回答の選択肢のタイプを示すことで、時間を節約できます。

calculation

前の質問の値を使用して計算を実行します (例: ${number} * 100)。 計算フィールドを参照して結果を表示します (例: The answer is ${calc})。

constraint

入力できる数値の範囲を制限します (例: .>0 および .<100)。 すべての質問タイプに使用できます。

constraint_message

制約条件を満たさない場合、有効な回答を求めるために、このメッセージが表示されます。

relevant

以前の質問の回答に基づいて、質問をスキップしたり、追加の質問を表示したりすることができます。 relevant 列の条件 (例: ${name} = 'value') を満たすと、質問が表示されます。 この列によって非表示になった質問は、null 値のみを送信します。

choice_filter

カスケード式の選択を使用する場合、このフィールドは、選択タブの追加の属性列と一致する式を保持します (例: attribute = ${value})。

repeat_count

この値は、繰り返しで使用できるレコード数を指定します。 繰り返し数を指定した後は、繰り返しのレコードを追加または削除することはできません。

media::audio

オーディオ ファイルをプロジェクトのメディア サブフォルダーにコピーし、オーディオ ファイルの名前 (例: audio.mp3) を入力して、質問にオーディオを加えます。

media::image

画像ファイルをプロジェクトの media サブフォルダーにコピーし、画像ファイルの名前 (例: image.jpg) をここに入力して、質問とともに画像を表示します。

bind::type

質問のデフォルトのフィールド タイプを上書きするフィールド タイプ。

bind::esri:fieldType

フィーチャ レイヤーのターゲット フィールド タイプを定義します。 これを使用して、デフォルト フィールド タイプを上書きできます (たとえば、calculate および select_one フィールドはデフォルトでは文字列です。 フィーチャ レイヤーにこの値を整数で保存するには、esriFieldTypeInteger を選択します)。

bind::esri:fieldLength

フィーチャ レイヤーのターゲット フィールドの長さを定義します。 これを使用して、デフォルトのフィールドの長さを上書きできます。

bind::esri:fieldAlias

フィーチャ レイヤー内のフィールド エイリアスの値を指定します。 これを使用して、質問ラベルから取得されるデフォルトのフィールド エイリアスの値を上書きできます。

body::esri:style

質問のスタイルや動作を定義するための式を指定します (例: グループや繰り返しの背景色)。

bind::esri:parameters

Survey123 に固有の質問のパラメーターを指定します (例: 調査を編集するときの繰り返しの動作を制御するパラメーター)。

bind::esri:workflow

パラメーターを指定して、距離計計測モードで調査を使用できるようにします。

パラメーター

質問に対し、標準の XLSForm パラメーターを指定します (例: 範囲の質問の startendstep の各パラメーター)。

body::accept

ファイルの質問で使用可能なファイル タイプを設定します。 ファイル拡張子を許可します。複数のファイル拡張子はカンマで区切ります (例: .jpg, .png)。

body::esri:visible

以前の質問の回答に基づいて、質問をスキップしたり、追加の質問を表示したりすることができます。 [body::esri:visible] 列の条件 (例: ${name} = 'value') を満たすと、質問が表示されます。 この列によって非表示になった質問は値を含んだままで、値を送信します。

body::esri:inputMask

入力マスクを使用する式を指定して、文字とシンボルを使用することで、データ エントリの設定形式を提供します。

label::language (xx)

質問のラベルの翻訳を指定します。 言語は、言語名とコードで指定する必要があります (例: label::Español (es)). 言語ごとに新しい列を追加します。 言語のリストは、調査のドロップダウン メニューに表示されます。

hint::language (xx)

質問のヒントの翻訳を指定します。 言語は、言語名とコードで指定する必要があります (例: hint::Español (es)). 言語ごとに新しい列を追加します。 言語のリストは、調査のドロップダウン メニューに表示されます。

guidance_hint::language (xx)

ガイダンスのヒントの翻訳を指定します。 言語は、言語名とコードで指定する必要があります (例: guidance_hint::Español (es))。 言語ごとに新しい列を追加します。 言語のリストは、調査のドロップダウン メニューに表示されます。

required_message::language (xx)

必要な質問が回答されていない場合、表示されるメッセージの翻訳を指定します。 言語は、言語名とコードで指定する必要があります (例: required_message::Español (es))。 言語ごとに新しい列を追加します。 言語のリストは、調査のドロップダウン メニューに表示されます。

body::accuracyThreshold

位置の値を受け入れなくする上限の閾値の数値 (メートル単位) を指定します。 ジオトレースと、ジオシェープおよびジオトレースの質問の頂点に適用されます。

bind::esri:warning

条件を満たさない場合に警告を表示する式を適用します。

bind::esri:warning_message

bind::esri:warning 条件を満たさない場合にメッセージを表示します。

bind::saveIncomplete

アプリが質問の後に回答を自動的に保存する場合、true に設定します。

表示設定

特定のタイプの質問では [appearance] 列に次の値を入力して、表示方法や挙動を変更できます。 この詳細については、「表示設定」をご参照ください。

表示設定適用可能な質問タイプ説明Survey123 フィールド アプリでサポートSurvey123 Web アプリでサポート

注釈

画像

ユーザーがキャンバス ウィンドウを開いてスケッチできます。画像上のアノテーションもサポートされています。

はい

はい

autocomplete

select_one

回答の選択肢がドロップダウン メニューに表示され、テキストを入力すると表示されるオプションが絞られます。

はい

はい

calculator

integer、decimal

この質問のためにカスタム計算機ウィジェットを表示します。

はい

いいえ

最適化

select_one、select_multiple、begin group、begin repeat

select_one と select_multiple の質問では、省スペースな方法で選択肢が横方向に表示されます。 group と repeat では、質問が起動時に折りたたまれて表示されますが、ユーザーが展開することも可能です。

はい

はい

compact-n

select_one、select_multiple

n で指定されたカラム数の上限を使用して、省スペースな方法で選択肢が横方向に表示されます。 たとえば、compact-3 では質問が最大 3 カラムに制限されます。

はい

はい

distress

整数

色の付いたスライド可能なスケールで質問を表示します。

はい

いいえ

draw

画像

ユーザーがキャンバス ウィンドウを開いてスケッチできます。

はい

はい

field-list

begin group、begin repeat

調査のスタイルがページに設定されている場合、質問のグループを別々のページで表示します。

はい

はい

geocode

text

ジオコーディングされた住所を検索し、送信します。

はい

はい

getinframarkerid

text

24 文字の一意の InfraMarker タグ ID を取得し、格納します。

はい

いいえ

非表示

すべて

表示されている質問が非表示になりますが、デフォルトと計算をそのまま使用できます。

はい

はい

hide-input

geopoint

調査を Web アプリで開いたときに、座標エントリ セクションを折りたたみます。

いいえ

はい

horizontal

select_one、select_multiple

回答の選択肢を水平に列状に表示します。

はい

はい

horizontal-compact

select_one、select_multiple

compact の表示設定と同じです。

はい

はい

image-map

select_one、select_multiple

添付された .svg 画像と選択可能な地域を表示します。

はい

いいえ

inframarker

text

InfraMaker タグに書き込まれる情報を提供します。

はい

いいえ

likert

select_one

回答の選択肢がリッカート尺度として表示されます。

はい

はい

minimal

select_one、select_multiple、barcode、begin repeat

複数の回答 (select_one、select_multiple)、複数の質問 (repeats)、およびテキスト ボックス (barcode) を非表示または最小化して表示します。

はい

はい

minimal compact

begin repeat

繰り返し内の質問を折りたたんだ状態 (compact) と非表示 (minimal) で表示できます。

はい

はい

month-year

date

日付の月と年のみを選択します。

はい

はい

multiline

テキスト、画像、ファイル

テキストの質問を複数行のテキスト ボックスとして表示します。 画像またはファイルの質問は、複数のファイルを添付できます。

はい

はい

new-front

画像

質問は、デフォルトで前面カメラを使用した写真撮影に限定されます。

はい

いいえ

new-rear

画像

質問は、デフォルトで背面カメラを使用した写真撮影に限定されます。

はい

いいえ

no-ticks

範囲

位置、最小値、最大値のない範囲スライダーを表示します。

はい

はい

nopredictivetext

text

モバイル デバイスの予測テキストを無効にします。

はい

いいえ

numbers

integer、decimal

この質問のためにカスタム数値キーボードを表示します。

はい

いいえ

predictivetext

text

モバイル デバイスの予測テキストを有効にします。

はい

いいえ

press-to-locate

ジオポイント、ジオトレース、ジオシェープ

ジオポイントの質問の場合、ユーザーが質問と対話した後のみ位置を受け取ります。 ジオトレースやジオシェイプの場合、最初に質問と対話するときにポイントを捕捉することなく、ユーザーの位置を中心に合わせます。

geopoint のみ

はい

rangefinder

text

完全な JSON オブジェクトか、距離計から返される指定の値のいずれかを受け付けます。

はい

いいえ

search

text

調査のメディア フォルダー内の CSV テーブル、または既存のフィーチャ レイヤーかテーブルの値を、選択肢リストに含めます。

はい

いいえ

signature

画像

署名の取得のための UI が表示されます。 署名は添付ファイルとしてフィーチャに追加されます。

はい

はい

spike

画像

Spike デバイスと Spike アプリが必要です。 Spike 統合を使用し、写真の距離と位置を計測します。

はい

いいえ

spike-full-measure

画像

Spike デバイスと Spike アプリが必要です。 Spike 統合を使用し、写真の距離、位置、面積、長さを計測します。

はい

いいえ

spike-point-to-point

画像

Spike デバイスと Spike アプリが必要です。 Spike 統合を使用し、写真撮影された 2 つのポイント間の距離を計測します。

はい

いいえ

spinner

integer、decimal

値を増減するボタンを追加します。

はい

いいえ

table-list

begin group

共通の選択肢リストを持つグループ内で、一連の select_one の質問をテーブル形式で表示します。

はい

はい

thousands-sep

decimal

回答を桁区切り記号を付けて表示します。 事前に設定された回答に対してのみ適用されます。

はい

いいえ

week-number

date

何週目かの番号を選択します。

はい

いいえ

year

date

日付の年のみを選択します。

はい

はい

パラメーター

XLSForm の一部の質問タイプには、調査内の質問のスタイルや振舞いをコントロールできる追加のパラメーターが用意されています。 場合によっては、これらのパラメーターが、質問タイプがサポートする表示設定を補完します。 各質問タイプがサポートするパラメーターの概要については、「XLSForm パラメーター」をご参照ください。

デフォルト値

date の質問の [default] 列に「today()」と入力すると、デフォルト値が今日の日付になります。

select_one の質問のデフォルト値には、選択肢の [名前] (選択肢の [ラベル] ではない) を入力します。

select_multiple の質問タイプに対する回答は他とは異なる使用方法で、チェックされた各回答は選択順に入力され、カンマで区切られます。 select_multiple の質問で複数の値をデフォルトとして定義するには、これらをカンマで区切ります (例: item1,item2,item3)。

データの整合チェック

[required] 列に yes を値として入力すると、 調査の質問では、フォームを完了する前にその質問に値が格納されていることが必須となります。

演算子

次の表に示す演算子は、式をサポートする XLSForm 列で使用できます ([constraint] 列、[calculation] 列、[relevant] 列など)。

計算と制約の詳細については、「」をご参照ください。[relevant] 列の詳細については、「式の作成」をご参照ください。

演算子説明

.

現在の回答

.=1

+

加算

${question_one} + 4

-

減算

${question_one} - 4

*

Multiplication

${question_one} * 4

div

Division

${question_one} div 4

=

等しい

${price}=9.80

!=

等しくない

${price}!=9.80

<

より小さい

${price}<9.80

<=

以下

${price}<=9.80

>

より大きい

${price}>9.80

>=

以上

${price}>=9.80

and

And

${price}>9.00 and ${price}<9.90

mod

剰余 (除算の余り)

${question_one} mod ${question_two}

or

Or

${price}=9.80 or ${price}=9.70

関数

Survey123 では、以下の関数がサポートされています。

関数説明

boolean(question, expression, or value)

指定された値が NULL でない場合に TRUE を返します。

代わりに boolean-from-string() を使用することをお勧めします。

注意:

この関数は、Survey123 Web アプリでは必ず true を返します。 その他については、「空の値」をご参照ください。

boolean(${question_one})

boolean-from-string()

指定された文字列が 'true' または '1' の場合に TRUE を返します。 それ以外の場合は FALSE を返します。

boolean-from-string(${question_one})

coalesce(value1, value2)

空でない最初の値を返します。 この関数では 2 つの値しか使用できません。

coalesce(${question_one}, ${question_two})

concat(value1, value2, …)

文字列値の連結を返します。

concat(${question_one}, ' and ', ${question_two})

contains(string, substring)

指定の文字列にサブ文字列が含まれている場合に TRUE を返します。

contains(${question_one}, 'red')

count(repeat)

回答の合計を、繰り返し全体で所定の質問に返します。 詳細については、「集約関数」をご参照ください。

注意:

この関数を Survey123 フィールド アプリで使用する場合、繰り返し内または繰り返し外に配置できます。 この関数を Survey123 Web アプリで使用する場合は、繰り返し外に配置する必要があります。 繰り返し外からの個数を、繰り返し内の計算で参照できます。

count(${question})

count-selected(question)

[select_one] 質問と [select_multiple] 質問に対し、選択された回答の数を返します。 さらに、multiline の表示設定を使用し、[image][audio][file] の質問の添付ファイルの数も返します。

count-selected(${question_one})

date(question, expression, or value)

時間を維持しないで数値または文字列を日付オブジェクトに変換します。

date('2017-05-28T04:39:02+10:00')

date-time(question, expression, or string)

数値または文字列を日付オブジェクトに変換します。

date-time('2017-05-28T04:39:02+10:00')

decimal-date-time(question, expression, or string)

日付オブジェクトを 10 進数の日付/時間の値に変換します。

decimal-date-time(${date_question})

decimal-time(question, expression, or string)

時刻オブジェクトを、デバイスのタイムゾーンでの日の小数部分を表す数値に変換します。

decimal-time(${time_question})

ends-with(string, substring)

指定の文字列がサブ文字列で終わる場合に TRUE を返します。

ends-with(${question_one}, 'hand.')

false()

False

false()

format-date()

既存の日付または時刻の値を、定義した形式に合わせます。

format-date(${previous_time}, '%H:%M')

if(condition, a, b)

条件が true と評価されると a を返し、それ以外の場合は b を返します。

if(selected(${question_one}, 'yes') and selected(${question_two}, 'yes'), 'yes', 'no')

indexed-repeat(question, repeat, index number)

繰り返しレコード内の特定の質問から値を返します。 詳細については、「繰り返し」をご参照ください。

indexed-repeat(${room_no}, ${floor}, 3)

int(question, expression, or value)

整数に変換します。 変換方法はデータ型によって異なります。

注意:

この関数が空の場合、NaN が返され、質問は空のままになります。

int(${question_one})

join(separator, question)

繰り返し内の指定の質問にすべての回答を指定の区切り記号で区切って結合します。

join(',', ${question_in_repeat})

jr:choice-name(choice_name, 'question')

[select_one] 質問に使用されます。 指定の質問に含まれる選択肢の名前に関連付けられたラベルを返します。 質問は引用符で囲んで定義する必要があるので注意してください。

jr:choice-name(${select_one}, '${select_one}')

select_multiple 質問に使用されます。 指定の質問に含まれる選択肢の名前に関連付けられたラベルを返します。 個々の回答のラベルを抽出するために selected-at() 関数を使用する必要があります。 質問は引用符で囲んで定義する必要があるので注意してください。

jr:choice-name(selected-at(${select_multiple}, 3), '${select_multiple}')

max(value1, value2, ...)

所定の範囲内の最大値をそのまま返すか、所定の範囲内の最大値を繰り返し全体で 1 つの質問に返します。

max(${question_one}, ${question_two})

min(value1, value2, ...)

所定の範囲内の最小値をそのまま返すか、所定の範囲内の最小値を繰り返し全体で 1 つの質問に返します。

min(${question_one}, ${question_two})

not(expression)

式が true を返す場合は false の値、false を返す場合は true の値を返します。

not(selected(., 'yes'))

now()

現時点のタイム スタンプを返します。 この関数は、time および dateTime の質問で使用されます。 date の質問の today() と同じ動作をします。

now()

number(question, expression, or value)

数値に変換します。 変換方法はデータ型によって異なります。

注意:

この関数が空の場合、NaN が返され、質問は空のままになります。

number(${question_one})

once()

質問にすでに値が設定されている場合は、既存の値を返します。 この関数は、繰り返しの質問で random() または uuid() を使用して、フォーム内の繰り返しレコードを参照しても値が変わらないことを確認する場合に役立ちます。

once(uuid())

position(..)

繰り返し内の現在のレコードのインデックスを返します。 詳細については、「繰り返し」をご参照ください。

position(..)

pulldata()

外部の CSV ファイルの値を返します。 詳細については、「CSV からの値の取得」をご参照ください。

pulldata('users', 'email', 'name', ${respondent_name})

pulldata("@exif")

画像の EXIF メタデータから値を返します。 詳細については、「画像メタデータの抽出」をご参照ください。

pulldata("@exif", ${photo}, "GpsLatitude")

pulldata("@geopoint")

ジオポイントの質問から値を返します。 詳細については、「ジオポイント値の抽出」をご参照ください。

pulldata("@geopoint", ${location}, "horizontalAccuracy")

pulldata("@javascript")

フォームの JavaScript 関数を実行し、結果を返します。 詳細については、「調査フォームの JavaScript 関数」をご参照ください。

pulldata("@javascript", "functions.js", "uniqueID", ${buildings})

pulldata("@json")

JSON オブジェクトから値を返します。 詳細については、「JSON からの値の取得」をご参照ください。

pulldata("@json", ${json_output}, "attributes.ZIP_CODE")

pulldata("@layer")

ArcGIS フィーチャ レイヤー、フィーチャ テーブル、またはクエリ対応のマップ サービスをクエリし、結果を返します。 詳細については、「フィーチャ レイヤーのクエリ」をご参照ください。

pulldata("@layer", "getRecordAt", "https://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/World_Time_Zones/FeatureServer/0", ${location})

pulldata("@property")

デバイスまたはサインインしているユーザーに関する情報を返します。 詳細については、「デバイスとユーザー プロパティ」をご参照ください。

pulldata("@property", 'username')

random()

0 (含まれる) と 1 (含まれない) のランダムな値を返します。

random()

regex()

正規表現を質問の入力に適用します。 パターンが一致すると true を返します。 詳細については、「正規表現」をご参照ください。

regex(., '^\d{5}$')

selected(質問, 値)

回答が選択されているかどうかを確認します。 この関数は、[select_one] 質問と [select_multiple] 質問に使用されます。

selected(${question_one}, 'a')

selected-at(question, number)

select_multiple 質問に使用されます。 指定の数値に対してゼロから数えて選択された選択肢の名前を返します。たとえば、'2' の場合は、3 番目に選択された選択肢を返します。

selected-at(${question_one}, 2)

starts-with(string, substring)

指定の文字列がサブ文字列で始まる場合に TRUE を返します。

starts-with(${question_one}, 'The')

string(question, expression, or value)

文字列に変換します。 変換方法はデータ型によって異なります。

string(${question_one})

string-length(question, expression, or value)

空でない文字列の長さを返します。

string-length(${question_one})

substr(question, start, end)

指定された開始の値から、インデックスの終了 -1 の文字までのサブ文字列を返します。ここで、開始と終了の値は 0 で始まります。

substr(${question_one}, 1, 2)

sum(repeat)

すべての回答の合計を、繰り返し全体で所定の質問に返します。 詳細については、「集約関数」をご参照ください。

注意:

この関数を Survey123 フィールド アプリで使用する場合、繰り返し内または繰り返し外に配置できます。 この関数を Survey123 Web アプリで使用する場合は、繰り返し外に配置する必要があります。 繰り返し外からの合計値を、繰り返し内の計算で参照できます。

sum(${question})

today()

現地時間の正午として内部的に格納されている、本日の日付を返します。 この関数は、date の質問で使用されます。

today()

true()

True

true()

uuid()

ランダムな UUID 文字列を返します。

uuid()

version()

[設定] ワークシートで定義された調査のバージョンを返します。

version()

Survey123 では、次の数学関数がサポートされています。

関数説明

acos(値)

値の逆余弦を返します。

acos(${question_one})

asin(値)

値の逆正弦を返します。

asin(${question_one})

atan(値)

値の逆正接を返します。

atan(${question_one})

atan2(値 1, 値 2)

値の商の逆正接を返します。

atan2(${question_one}, ${question_two})

cos(値)

値の余弦を、ラジアン単位の角度として返します。

cos(${question_one})

sin(値)

値の正弦を、ラジアン単位の角度として返します。

sin(${question_one})

tan(値)

値の正接を、ラジアン単位の角度として返します。

tan(${question_one})

exp(値)

値の自然指数を返します。

exp(${question_one})

exp10(値)

10 の値乗を返します。

exp10(${question_one})

log(値)

値の自然対数を返します。

log(${question_one})

log10(値)

値の基数 10 の対数を返します。

log10(${question_one})

pi()

pi を返します。

pi()

pow(値, 指数)

値を指定の指数で累乗して求められた結果を返します。

pow(${question_one}, 3)

round(値, 指数)

四捨五入された値を返します。

round(${question_one}, 5)

sqrt(値)

値の平方根を返します。

sqrt(${question_one})

HTML 形式

質問のラベルとヒント、選択肢リストのラベルで、HTML 形式を使用できます。 サポートされている HTML 形式は次のとおりです。

タグ属性

a

hrefstyle

abbr

title

audio¹

autoplaycontrolsloopmutedpreload

bstrongiemuulollitbodybrhr

dddldt

style

div¹

stylealign

figcaption

style

figure

style

font

sizecolorstyle

h1h2h3h4h5h6

style

img

srcwidthheightborderaltstyle

p

style

source¹

mediasrctype

span

style

sub

style

sup

style

table

widthheightcellpaddingcellspacingborderstyle

tdth

heightwidthvalignaligncolspanrowspannowrapstyle

tr

heightvalignalignstyle

video¹

autoplaycontrolsheightloopmutedposterpreloadwidth

¹ Survey123 Web アプリでのみサポートされます。

ヒント:

デフォルトでは、HTML 形式で作成したハイパーリンクを Survey123 Web アプリで開くと、調査と同じタブにリンク先のページが開きます。 このリンクを新しいタブで開くには、target="_blank" タグに a href を追加します。例:

<a href="https://www.esri.com" target="_blank">Link to Esri website</a>

正規表現

正規表現は、検索パターンを定義する文字列です。 これは 1 つの質問の中で使用され、他の質問に基づいて値を決定したり、データ エントリを制限したりできます。 正規表現は、次の表に示す部分式から構築できます。 詳細については、「」をご参照ください。

部分式一致

^

行の先頭と一致します。

$

行の末尾と一致します。

.

改行文字以外の任意の 1 文字と一致します。

[...]

括弧内の任意の 1 文字と一致します。

[^...]

括弧内にない任意の 1 文字と一致します。

(re)

正規表現をグループ化し、一致するテキストを記憶します。

(?: re)

一致するテキストを記憶せずに、正規表現をグループ化します。

a| b

a または b のいずれかと一致します。

\A

文字列全体の先頭。

\b

括弧の外側の場合は単語の境界と一致します。括弧の内側の場合はバックスペース (0x08) と一致します。

\B

単語以外の境界と一致します。

\d

数字と一致します。 [0 ~ 9] と同じです。

\D

数字以外と一致します。

\E

\Q で開始された引用を終了します。

\G

直前の一致が終了したポイントと一致します。

\n、\t、\e など

改行文字、タブ、エスケープなどと一致します。

\N

グループ番号 N を取得するために後方参照します。

\Q

\E までのすべての文字をエスケープ (引用) します。

re*

先行する式の 0 回以上の発生と一致します。

re+

先行する式の 1 回以上の発生と一致します。

re?

先行する式の 0 回または 1 回の発生と一致します。

re{ n}

n によって定義される、先行する式の正確な発生回数と一致します。

re{ n,}

先行する式の n 回以上の発生と一致します。

re{ n, m}

先行する式の最小発生回数 (n によって定義される) と最大発生回数 (m によって定義される) と一致します。

\s

空白文字 (タブ、ライン フィード、フォーム フィード、キャリッジ リターン、スペース) と一致します。

\S

空白文字以外と一致します。

\w

単語の文字と一致します。

\W

単語以外の文字と一致します。

\z

文字列全体の末尾。

\Z

許可される最終行ターミネーターを除く、文字列全体の末尾。

たとえば、正規表現 regex(.,'^[A-Za-z]*$') では、文字列の質問に対して文字のみを入力する必要があり、数字や特殊文字は入力できません。

Esri フィールド タイプ

[bind::esri:fieldType] 列を使用して、デフォルトのフィール タイプを次のいずれかの値で上書きできます。 詳細については、「Esri カスタム列」をご参照ください。

フィールド値結果

esriFieldTypeDate

日付と時刻の値

esriFieldTypeDateOnly

日付のみで時間のない値

esriFieldTypeTimeOnly

時間のみで日付のない値

esriFieldTypeTimestampOffset

日付、時間、および UTC からのオフセット値

esriFieldTypeDouble

倍精度浮動小数点数

esriFieldTypeGUID

GUID (Globally Unique Identifier)

esriFieldTypeInteger

整数 (32 ビット)

esriFieldTypeBigInteger

整数 (64 ビット)

esriFieldTypePointZ

ジオポイントでの高度の取得を有効にします。

esriFieldTypeString

一連の英数字シンボル

NULL

NULL フィールド、値を格納しません。

特殊文字

質問の名前と選択肢の名前には、空白、カンマ、ハイフン、括弧、ブラケットなどの特殊文字や、$、%、# のような文字を使用できません。 select_multiple の質問の選択肢の名前には空白とカンマを使用しないことが重要です。