Skip To Content

フィーチャ レポート テンプレート

印刷される調査のデフォルトの書式がニーズに合わない場合や一度に複数のレポートを印刷する必要がある場合、Survey123 Web サイトは、フィーチャ レポートに個別のテンプレートを適用する [レポート テンプレート] 機能としても使用できます。

フィーチャ レポートは、単一の調査レコードを表します。ArcGIS Online の 2019 年 10 月のリリース以降、フィーチャ レポートの印刷は ArcGIS Online プレミアム サービスとなるため、クレジットを消費します。クレジットは、調査レコードあたり 2.5 クレジットで請求されます。1 つの調査レコード内のすべての関連レコードは、この一度の出力でフィーチャ レポートに含めることができます。

フィーチャ レポート テンプレートは Microsoft Word ファイル (*.docx) で、特定の構文を使用するプレースホルダー テキストを提供します。フィーチャ レポートを印刷するとき、このプレースホルダー テキストが、調査の回答の該当フィールドの内容に置き換えられます。このプレースホルダー テキストは、任意の書式、テーブル、画像、その他の個別設定で使用でき、ニーズに合わせたテンプレートを作成できます。

新しいテンプレートを適用するには、[データ] タブのマップ上部のバーにある [フィーチャ レポート] ボタンをクリックして、[テンプレートの管理] をクリックします。新しいウィンドウが表示され、既存のテンプレートを選択したり、新しいテンプレートをアップロードしたりできます。[新しいテンプレートのアップロード] をクリックすると、別の新しいウィンドウを開き、調査のフィールド (繰り返し内のフィールドを除く) のプレースホルダーや、アップロードするときのテンプレートの名前とサマリーを表示できます。

フィールド名コードをテンプレート ドキュメント内の適切な場所にコピーして貼り付けるには、[フィーチャ レポート テンプレート] ウィンドウでそのフィールドの上にマウスを置いたときに表示される [コピー] ボタンをクリックします。あるいは、調査に基づいてサンプル テンプレートをダウンロードするリンクを指定できます。テンプレートをアップロードして選択したら、[生成] をクリックしてレポートを作成します。同時に複数の調査回答のレポートを作成することもできます。

質問のプレースホルダーのテーブル

特定のタイプの質問に式を加えて、デフォルトとは異なる書式で回答を表示できます。該当する質問には、[フィーチャ レポート テンプレート] ウィンドウでそのフィールドの上にマウスを置いたときに、プレースホルダーの横に [その他のオプションの表示] ボタンが表示されます。

テキスト

Survey123 Web デザイナーで [複数行テキスト] の質問を追加したり、Survey123 Connect でテキストの質問に multiline 表示設定を使用したりして作成した複数行テキストの質問は、デフォルトではキャリッジ リターンを無視し、回答を単一ブロックのテキストで表示します。条件式を使用すると、質問に対する回答をキャリッジ リターンを付けて表示できます。

${multilinetext1 | appearance:"multiline"}

この条件式は、専用の行に配置しないとエラーになります。

数値

基本的な算術演算を数値の質問で使用することができ、算術演算を使用して、それらの質問に対する回答の加算、減算、乗算、除算を実行したり、剰余を求めたりすることができます。

${number1 - 15}

${number1 * 6}

${number1 / number2}

${number1 % number2}

ヒント:

式が複雑な数式を含んでいる場合、レポート生成が期待する結果を確実に生成するように、括弧を使用することを検討してください。

小数の質問については、round 式を使用し、値を丸める小数桁の最大数を設定します。次の例では、質問を小数点以下 5 桁に丸めます。

${decimal1 | round:5}

画像

画像の質問の場合、フィーチャ レポートの画像が一定のサイズになるように、サイズを設定できます。この条件式の形式は以下のとおりです。

${image1|size:width:height:max_width:max_height}

widthheight の値は、画像の設定サイズを制御します。単位はピクセルです。これらの値は式に必要ですが、値に 0 を指定すると、画像の寸法の制限がなくなります。たとえば、次の式は画像の幅を強制的に 300 ピクセルに設定しますが、画像の縦横比は維持します。

${image1|size:300:0}

最大の高さと幅の値は、画像の最大サイズを制限し、オプションの値です。次の例では、画像の幅を強制的に 300 ピクセルに設定しますが、画像の高さは 200 ピクセル以下に制限します。

${image1|size:300:0:0:200}

画像の質問では、画像の詳細を抽出して調査の回答に表示することもできます。これを使用して、次のように画像のファイル名とサイズを表示できます

${image1|getValue:"name"}

${image1|getValue:"size"}

${image1|getValue:"width"}

${image1|getValue:"height"}

同じ方法を使用して、次のように画像から EXIF データを表示し、写真が撮られた場所と日時の詳細を表示できます。

${image1|getValue:"x"}

${image1|getValue:"y"}

${image1|getValue:"date"}

${image1|getValue:"time"}

${image1|getValue:"direction"}

元の画像をフル サイズと完全な品質で表示するには、getValue 条件式を値を指定しないで使用します。

${image1|getValue:""}

備考:

画像のサイズを設定するとともに、他の条件式パラメーターを使用する場合、size を数式の最後に配置する必要があります。

フィーチャに添付されたすべての画像を表示するには、各画像が専用の行に配置されている次のプレースホルダーを使用します。

${#$attachment}
${$file}
${/}

この方法は、ArcGIS Enterprise で画像を表示する、または Survey123 の外部でフィーチャに追加された画像を表示する場合に役立ちます。上記の getValue 式もサポートされています。次の例では、フィーチャに添付されているすべての画像のファイル名が表示されます。

${#$attachment}
${$file|getValue:"name"}
${/}

ジオポイント

ジオポイントの質問の場合、次のように条件式を使用して、質問から緯度と経度の値を表示できます。

${location|getValue:"x"}

${location|getValue:"y"}

1 つの条件式で両方の値は表示できません。両方の値が必要な場合は、2 つの条件式を使用する必要があります。

ヒント:

同様の式を使用して高度値を表示することもできますが、基本となるフィーチャ サービスが Z 値をサポートしている場合に限ります。

${location|getValue:"z"}

デフォルトでは、これらの値は、調査のフィーチャ サービスで使用されるものと同じ空間参照に出力されます。WKID を指定すると、異なる空間参照を追加パラメーターとして設定できます。

${location|getValue:"x":4326}

ジオポイントの質問は、値の前に mapSettings: を付けるときに、Web マップのアイテム ID とマップ縮尺をオプションのパラメーターとして設定することもできます。以下の例では、1:100,000 のマップ縮尺が使用されます。

${location|mapSettings:"10df2279f9684e4a9f6a7f08febac2a9":100000}

マップのアイテム ID を空のままにするか、縮尺を 0 に設定した場合、デフォルト ベースマップまたは質問の範囲が使用されます。

ジオポイントの質問は、画像の質問に対してサイズの式もサポートしています。この式を使用して、次の例に示すように、レポートに表示されるマップの解像度を制御できます。

${location|size:400:400}

mapSettingssize の条件式を一緒に使用すると、次の例に示すように、Web マップ ID とマップ縮尺、およびマップ画像の解像度を指定できます。

${location|mapSettings:"10df2279f9684e4a9f6a7f08febac2a9":100000|size:400:400}

備考:

マップのサイズを設定するとともに、他の条件式パラメーターを使用する場合、size を数式の最後に配置する必要があります。

マップの質問が調査に含まれていない場合、または関連する調査のないフィーチャ サービスのレポートを作成している場合でも、${$shape} プレースホルダーを使用して質問のジオメトリを返すことができます。

ジオトレースとジオシェープ

ジオトレースとジオシェープの質問については、getValue 条件式を使用し、それぞれ行の長さや、ポリゴンの周囲長を表示します。

${polyline1|getValue:"length":"meters":"planar"}

ジオシェープの質問では、getValue 条件式を使用してポリゴンの面積を表示することもできます。

${polygon1|getValue:"area":"hectares":"geodesic"}

単位と計算の方法は、オプションのパラメーターです。長さでは、次の単位を使用できます。

  • feet
  • kilometers
  • meters
  • miles
  • nautical-miles
  • yards

面積では、次の単位を使用できます。

  • acres
  • hectares
  • square-miles
  • square-kilometers
  • square-meters
  • square-feet
  • square-yards

または、ArcGIS REST API がサポートする esriSRUnitType Constants または esriSRUnit2Type Constants のいずれかを使用することもできます。式では、定数の数値コードを引用符なしで使用します。例:

${polyline1|getValue:"length":109002:"geodesic"}

単位を指定しなければ、長さのデフォルト単位は kilometers、面積は square-kilometers です。

方法は、geodesic または planar を指定できます。方法を指定しなければ geodesic がデフォルトで使用されます。

ジオトレースおよびジオシェープの質問は、値の前に mapSettings: を付けるときに、Web マップのアイテム ID とマップ縮尺をオプションのパラメーターとして設定することをサポートします。以下の例では、1:100,000 のマップ縮尺が使用されます。

${polyline1|mapSettings:"10df2279f9684e4a9f6a7f08febac2a9":100000}

Web マップのアイテム ID を空の文字列のままにした場合、質問のデフォルト ベースマップが使用されます。マップ縮尺を 0 に設定すると、マップが質問のジオメトリにズームします。

ジオトレースおよびジオシェープの質問は、画像の質問に対してサイズの式もサポートしています。この式を使用して、次の例に示すように、レポートに表示されるマップの解像度を制御できます。

${polyline1|size:400:400}

mapSettingssize の条件式を一緒に使用すると、次の例に示すように、Web マップ ID とマップ縮尺、およびマップ画像の解像度を指定できます。

${polyline1|mapSettings:"10df2279f9684e4a9f6a7f08febac2a9":100000|size:400:400}

備考:

マップのサイズを設定するとともに、他の条件式パラメーターを使用する場合、size を数式の最後に配置する必要があります。

マップの質問が調査に含まれていない場合、または関連する調査のないフィーチャ サービスのレポートを作成している場合でも、${$shape} プレースホルダーを使用して質問のジオメトリを返すことができます。

日付、時刻、日時

日付や日時の質問の場合、式を使用して、日、月、年にそれぞれ DD、MM、YYYY のプレースホルダーを使用して日付の書式を設定できます。次の式は、年を省略して、日と月のみを表示します。

${date|format:"DD/MM"}

日時の質問で時間の書式を設定することもできます。この場合、時間、分、秒にそれぞれ HH、mm、SS のプレースホルダーを使用します。次の条件式は、日、月、時間、分を表示します。

${datetime|format:"DD/MM HH:mm"}

デフォルトでは、フィーチャ サービスに格納されたすべての日付と時刻の値は、協定世界時 (UTC) で表示されます。utcOffset パラメーターを使用すると、フィーチャ レポート内のこれらの値の表示を変更して、特定のタイム ゾーンに合わせることができます。次の式は、日時の質問の回答を UTC から 1 時間オフセットして表示します。

${datetime|utcOffset:"+01:00"}

utcOffset パラメーターは、+01:00+0100+01 の形式をサポートし、同じ結果を返します。このパラメーターを使用して、回答の送信時間の表示を変更することもできます。utcOffset が時間の質問では機能しないということにも注意してください。

複数の選択肢

単一の選択肢の質問が、プレースホルダーで参照される場合 (${select_one} など)、選択肢のラベルを返します。単一の選択肢の質問が式の中で使用される場合、または質問が外部ファイルからの選択を使用する場合、単一選択肢の質問は選択肢の値を返します。次の例は、ラベルではなく、選択肢の値を条件ステートメントに使用する例を示しています。

${if select_one=="choice1Value"}The user selected the first choice.${/}

ラベルではなく選択肢の値を意図的に表示するには、getValue 式を使用します。

${select_one|getValue:""}

単一の選択肢の質問と複数の選択肢の質問の場合、式を使用して、選択肢の横にチェックボックスを配置できます。これは、質問の回答に応じてオンになります。次の式は、質問に対して「yes」のオプションが選択されたかどうかを表示します。

${select_one|checked:"yes"} Yes

複数の選択肢の質問は、選択された選択肢の総数を出力するため、および選択された特定の選択肢を出力するための式をサポートします。

${select_multiple | countSelected}

${choiceQuestion1 | selectedAt:2}

備考:

selectedAt 式は、選択された選択肢のカウントをゼロで開始します。つまり、${choiceQuestion1 | selectedAt:2} は、3 番目の選択された選択肢を返します。

複数の選択肢の質問では、次のようにすべての選択された選択肢を箇条書きリストとして返す条件式もサポートされています。

${select_multiple|appearance:"bullets"}

備考:

選択肢のラベルに二重引用符が含まれている場合、ラベル内の二重引用符の前にバックスラッシュを付ける必要があります。これを行わない場合、レポートの印刷に失敗します。単一引用符の場合、これは必要ありません。

${select_one|checked:"Service provided by \"Greg's Plumbing\""} Service provided by "Greg's Plumbing"

繰り返す

繰り返しの質問にアクセスするには、繰り返しセクションをテンプレートに追加します。defects という繰り返しの場合、${#defects} プレースホルダーは繰り返しセクションの開始を示し、${/} は終了を示します。繰り返し内で質問を指すプレースホルダーは、繰り返しセクションの開始プレースホルダーと終了プレースホルダーの間に存在する必要があります。

備考:

テーブル内の繰り返しの内容を印刷する場合は、開始タグと終了タグが 2 つともテーブル内またはテーブル外に配置されていることを確認します。これらのタグの 1 つがテーブル内で、もう 1 つがテーブル外の場合、レポートを生成することはできません。ほとんどの場合、開始タグと終了タグはテーブル内に配置され、開始タグは最初のセル内、終了タグは最後のセル内にあります。

入れ子状の繰り返し内にある質問にアクセスするには、対象となる繰り返しセクションの上にあるすべての繰り返しレイヤーのタグの間に、そのタグを配置します。これは次のようになります。

${#repeat1}
${#repeat2}
${#repeat3}
${field1InRepeat3}, ${repeat2.field1}, ${repeat1.field1}, ${mainLayer.field1} 
${/}
${/}
${/}

現在、フィーチャ レポート条件式は、レイヤー名を参照するときに、ハイフンなどの特殊文字を読み取ることができません。名前に特殊文字が含まれるレイヤーを参照するときは、特殊文字の場所にアンダースコアを使用してください。

親の繰り返しと同じ名前を持つ繰り返しに含まれるフィールドを参照するには、フィールド名と繰り返し名の両方を含む完全なパス構文を使用します。例: ${sharedName.sharedName}

条件エレメント

フィーチャ レポートのエレメントは、if ステートメントを使用して、条件付きで表示または非表示にすることができます。開始の ${if expression} プレースホルダーに式を入力し、条件セグメントの終了を示す ${/} を入力することで、if ステートメントを使用できます。レポートの一部を非表示にするために使用できる if ステートメントの例を次に示します。

  • ${if photo1} では、photo1 の質問が回答された場合にだけ、このセクションが表示されます。
  • ${if integer1>0} では、integer1 の質問に対する回答が正の値であった場合にだけ、このセクションが表示されます。
  • ${if ((geopoint1 | getValue:"y")>0)} では、ジオポイントが北半球にある場合にだけ、このセクションが表示されます。
  • ${if multiple_choice1 | selected:"A"} は、複数の選択肢の質問で選択肢「A」が選択された場合にのみ、このセクションを表示します。

回答が質問に対する値を含んでいるかどうかをチェックするには、フィールド名を直接参照する if ステートメントのみを必ず使用し、他の演算子を使用しないでください (例: ${if photo1})。この形式は、空の文字列、NULL 値、および未定義の値がすべて空の値と見なされることを保証します。この形式は、文字列、数値、日付、および添付ファイルのフィールド タイプに適用されます。この形式を繰り返しと共に使用した場合、少なくとも 1 つのインスタンスが繰り返しに存在する限り、このセクションが表示されます。

if ステートメントでは、次の論理演算子がサポートされています。

演算子説明

||

2 つのステートメントのいずれかが true を返す場合、true になります。

&&

所定のステートメントの両方が true を返す場合、true になります。

!

ステートメントが true でない場合、true になります。

==

所定の 2 つの値が互いに等しい場合、true になります。

!=

所定の 2 つの値が互いに等しくない場合、true になります。

>

最初の値が 2 つ目の値より大きいかどうかを評価します。

>=

最初の値が 2 つ目の値以上であるかどうかを評価します。

<

最初の値が 2 つ目の値より小さいかどうかを評価します。

<=

最初の値が 2 つ目の値以下であるかどうかを評価します。

制限事項

現在、フィーチャ レポート テンプレートを使用する場合、次の制限事項が存在します。

  • Web マップが 2014 年 7 月にリリースされたバージョン 2.0 より前のバージョンを使用している場合、フィーチャ レポート内にマップは表示されません。
  • ArcGIS Enterprise ポータルに有効な SSL 証明書がない場合、フィーチャ レポート内にマップは表示されません。
  • フィーチャ レポート テンプレートは、Survey123 10.5 以降で ArcGIS Enterprise Web サイトを使用している場合のみサポートされます。
  • フィーチャ レポート テンプレートを使用した印刷は、一般向けではない ArcGIS Enterprise 配置では機能しません。これを試行すると、getaddrinfo ENOTFOUND エラーが発生します。
  • フィーチャ レポート テンプレートを使用した印刷は、統合 Windows 認証 (IWA) を使用する ArcGIS Enterprise 配置では機能しません。
  • Survey123ArcGIS Enterprise Web サイトを使用する場合、添付ファイルはサポートされていません。