既存の調査データの編集の準備

調査を通じてフィーチャ レイヤーに新しいデータを送信するだけでなく、最近送信した調査データや、過去に収集されたデータ、または他の調査ユーザーが収集したデータの編集が必要になることがあります。

編集の有効化

調査の回答は、[送信済み] フォルダーと [受信トレイ] で編集できます。 調査の編集を有効にするには、基本となるフィーチャ レイヤーでも編集を有効にする必要があります。

過去に送信済みの調査は編集できます。これは Survey123 フィールド アプリの [送信済み] フォルダーにあります。 送信済み調査のオプションを構成する方法の詳細については、「送信済みフォルダー」をご参照ください。

調査のフィーチャ レイヤーに保存されている既存の調査データ (別のユーザーが収集したデータなど) を編集するには、受信トレイを有効にする必要があります。

注意:

受信トレイを有効にすると、調査データへの読み取り許可が有効になります。これにより、調査の回答が表示されます。 データのセキュリティ保護に関する詳細とベスト プラクティスについては、「調査の共有」をご参照ください。

受信トレイを有効にするには、Survey123 Connect で調査の [オプション] タブに移動し、[受信トレイの有効化] をクリックします。 一連のオプションが表示され、受信トレイでユーザーが調査を操作する方法を制御できます。 これらのオプションに対する変更は調査公開時に有効になります。

で調査の編集が有効になった状態。

受信トレイの調査の編集、表示 (読み取り専用)、または新しい調査へのコピーを許可するかどうかを選択します。 クエリ式を入力して、受信トレイで返される調査を制限できます。 空間フィルターを適用することもできます。

注意:

[受信ボックス] は、最大 5,000 件の調査回答を受信できます。 この制限は、親調査レコードにのみ適用されます (繰り返しには適用されません)。

返されるレコードが多いほど、[受信トレイ] の更新に時間がかかります。 繰り返しを含む調査の場合、更新時に [受信トレイ] が取得するレコードの総数は、親レコードの数よりもはるかに多くなる可能性があることに注意してください。 たとえば、フィーチャ レイヤーに 2,000 の親レコードが含まれ、各親レコードに 10 の繰り返しレコードがある場合、[受信トレイ] は合計 22,000 レコードを取得します。 クエリ式または空間フィルターを適用して親レコードの数を制限できます。 [bind::esri:parameters] 列でクエリを定義すると、繰り返しレコードの数を制限できます。

注意:

一度に保存できる調査回答は、1 台のデバイスの 1 つのフォルダーに限定されています。 調査で [送信済み] フォルダーと [受信トレイ] の両方が有効になっている場合、受信トレイを更新しても [送信済み] フォルダーにすでにある回答はダウンロードされません。 このため、[送信済み] フォルダーにある回答を別のデバイスのユーザーが更新した場合、更新された回答は受信トレイにダウンロードされません。

この理由から、複数のユーザーが既存の回答を継続的に編集および更新する場合は、同じ調査に対して [送信済み] フォルダーと [受信トレイ] を有効にしないことをお勧めします。

WHERE 式

Survey123 フィールド アプリの受信トレイで編集できる調査は、Survey123 Connect の調査の [オプション] タブで指定された検索条件式によって決定します。 この検索条件が変更されるたびに調査を公開して、変更を有効にする必要があります。

検索条件式は、一般的な SQL 構文、および ArcGIS でサポートされている関数を使用する必要があります。 すべての検索条件は、調査のフィーチャ レイヤーに対して実行されます。そのため、フィーチャ レイヤーの REST エンドポイントで検索処理を使用して式を構築およびテストできます。 この手順と検索条件の構文の例については、「検索条件 (フィーチャ サービス)」をご参照ください。 サポートされている関数の詳細については、「ArcGIS Online で標準化されている SQL 関数」をご参照ください。

使用例と構文を以下に示します。

  • 次の例では、rating フィールドの数値が 2 以上である調査を返します。

    rating>=2

  • 次の例では、EditDate フィールドの日付が 2017 年 4 月 13 日以降である調査を返します。

    EditDate>='2017-4-13'

  • 次の例では、Editor フィールドが「BKlauser」と等しい調査を返します。

    Editor='BKlauser'

  • 次の例では、status フィールドが「for_review」と等しい調査を返します。

    status='for_review'

  • 次の例では、inspection_date フィールドの日付が過去 7 日以内である調査を返します。

    inspection_date>CURRENT_DATE-7 AND inspection_date<=CURRENT_DATE

  • 次の例では、project_status フィールドが「complete」と等しくない調査を返します。

    project_status<>'complete'

  • 次の例では、final_approval フィールドが空 (NULL) である調査を返します。

    final_approval IS NULL

  • 次の例では、final_approval フィールドが空 (NULL) でない調査を返します。

    final_approval IS NOT NULL

受信トレイの検索条件では、username 変数もサポートされています。 この変数は、XLSForm 式と同じ形式で指定する必要があります。 たとえば、検索条件 Creator=${username} は現在サインインしているユーザーが作成したすべての調査レコードを返します。

注意:

username 変数は、受信トレイの検索条件式で XLSForm 構文を使用できる唯一の例です。 username 変数は ${username} として記述する必要があるにもかかわらず、その値は、調査の質問からではなく、サイン インしているユーザーの ArcGIS アカウントから取得されます。

複数のユーザーのリストを含むフィールドから、サイン インしているユーザーのレコードを返すには、検索条件で POSITION() 関数を使用する必要があります。 たとえば、検索条件 POSITION(${username} IN assigned_to) > 0 はサインインしているユーザーを含むすべての調査レコードを返します。assigned_to フィールドの値は、すべての対象者のカンマ区切りリストになる場合があります ('George_Smith, Nick_Jones' など)。

空間フィルター

受信トレイで [更新] を選択すると、[リスト] タブに表示されている調査のリストが更新されます。 更新操作では通常、受信トレイのクエリ式 (設定されている場合) の条件を満たし、デバイスの他のフォルダーにまだ保存されていない調査がすべて返されます。 [マップ] タブで [更新] を選択すると、空間フィルターを適用してリストを更新することで、現在のマップ範囲内にある調査だけを表示できます。

空間フィルターを有効にするには、Survey123 Connect[オプション] タブで [マップ タブが表示されているときに空間フィルターを適用] を選択します。 以下の例では、[更新] を選択すると調査のリストが更新され、現在のマップ範囲内の 4 つの調査回答だけが表示されています。 調査でインスタンス名が設定されている場合、マップの各フィーチャにそのインスタンス名がラベル付けされます。

空間フィルターの [マップ] タブ

繰り返し

Survey123 では、[受信トレイ] フォルダーまたは [送信済み] フォルダーからの関連レコードがあるフィーチャの編集が可能です。 Survey123 フィールド アプリでは、新しいレコードを追加したり、既存のレコードを編集することはできますが、既存のレコードの削除はサポートされていません。 クエリ パラメーターで allowUpdates=true が有効になっていない限り、既存のレコードの編集はデフォルトで無効です。

注意:

[bind::esri:parameters] 列のパラメーターに関係なく、Survey123 Web アプリおよび Web サイトで繰り返し内のレコードを追加、編集、削除できます。 詳細については、「既存の調査データの編集」をご参照ください。

[bind::esri:parameters] 列を使用すると、繰り返し用のオプションのパラメーターを指定できます。 これらのパラメーターの書式は、キーと値のペアで設定します。スペースが含まれる値は引用符で囲みます。

デフォルトでは、[受信トレイ] または [送信済み] フォルダーからの調査の回答で関連レコードを使用することができません。 回答の関連レコードにアクセスするには、[begin repeat] 質問タイプの [bind::esri:parameters] 列でクエリを定義します。 クエリのプロパティは、上記の WHERE 式と同じパラメーターをサポートしています。たとえば、query="Editor='BKlauser'" は Editor フィールド内で 'BKlauser' を含む関連レコードのみをダウンロードします。

関連テーブル内のすべてのレコードをダウンロードするには、パラメーターを付けずにクエリを指定します (query)。

begin repeat 質問タイプの [bind::esri:parameters] 列で繰り返しに適用できるパラメーターを以下に示します。

  • query - レコードを検索して、関連テーブルにダウンロードできます (例: query="severity='high'")。
  • allowAdds - 編集時に新しいレコードを repeat に追加できます。 デフォルトは true です。 allowAdds=false を使用して false に設定できます。
  • allowUpdates - 編集時に repeat 内にある既存のレコードを更新できます。 デフォルトは false です。 allowUpdates=true を使用して true に設定できます。

複数のキーと値のペアは、allowUpdates=true query="Editor='BKlauser'" のように、スペースで区切って一緒に使用できます。 これらの値にスペースが含まれる場合、引用符で囲むことができます。

画像

Survey123 では、ユーザーが既存の調査レコードに画像を追加できます。 既存の画像の編集はサポートされていませんが、調査を編集して既存の画像をコピーする際に各画像の質問に表示される [複製] ボタンを使用することで、draw および annotate の表示設定で回転、名前変更、編集することで編集できます。

新しい画像の追加はデフォルトで有効になっています。 この機能を無効にするには、[bind::esri:parameters] 列に「allowAdds=false」 と入力します。

画像の編集には、以下の既知の制限事項があります。

  • オフライン ワークフローはサポートされていません。
  • signature 表示設定は [複製] 関数をサポートしていません。
  • 画像の添付ファイルで、キーワード プロパティを使用して、画像を、その画像が送信された質問に関連付けます。 キーワード プロパティは、10.8.1 以前の ArcGIS Enterprise ではサポートされていないため、10.8.1 以前の ArcGIS Enterprise ポータルで公開されている調査に送信された画像は、質問に関連付けられません。 同様に、調査以外の方法 (ArcGIS ProArcGIS Online の Web マップなど) でフィーチャに添付された画像には、キーワードが含まれない場合があります。
  • [受信トレイ] で使用するために既存の調査がデバイスにダウンロードされると、既存の画像はダウンロードされません。 count-selected 関数はデバイス上にある画像のみをカウントし、初めて調査を開いたときには 0 を返します。 取得された新しい画像はカウントされます。