データは、Experience Builder で作成するほとんどのアプリの中心的な要素です。 多くのウィジェットはデータに依存し、ビルダーは統一されたデータ管理機能を提供します。 同じデータを使用するウィジェットは、アプリ内で接続できます。 たとえば、複数のウィジェットでレコード選択を同期して、同じデータに接続しているウィジェットに同じフィルターを適用できます。
Experience Builder でアプリにデータを追加すると、そのデータはデータ ソース接続に固有のインスタンスになります。 これには、以下のようなメリットがあります。
- 元のデータ ソースに対する更新は、構築したアプリ内で同期されます。
- 同じデータ ソースを複数回追加できます。 Experience Builder では、接続が独立したデータになります。 ほとんどのデータ処理は、他のデータ処理 (フィルタリングや並べ替えなど) に影響しません。ただし、元のデータ ソースに対する更新 (フィーチャの編集や属性の更新など) は例外です。
データの管理
アプリに追加したすべてのデータは、ビルダー ワークスペースの [データ] パネルにリストされます。 ここでアプリのデータを管理したり、データに接続されているウィジェット、その数、接続先のフィールド (該当する場合) などの関連情報を確認したりできます。 [検索] ボックスを使用してリストをフィルタリングすると特定のデータ ソースを見つけることができます。 検索結果には、アプリに追加した Web マップと Web シーンのサブレイヤーが含まれます。
アプリへのデータの追加
アプリにデータを追加するとき、次のような Web マップ、Web シーン、および ArcGIS にコンテンツ アイテムとして格納されているレイヤーを選択できます。
- ホスト フィーチャ レイヤー
- クエリをサポートしている 3D オブジェクトおよびポイント シーン レイヤー
- フィーチャ、シーン、およびマップ サービス
- フィーチャ コレクション (マップ メモおよびルート レイヤーを除く)
これらのデータ ソースは、自身のコンテンツ、グループ、組織、パブリックに共有されているコンテンツ (ArcGIS Living Atlas of the World を含む) で参照および検索が可能です。 フィーチャ、シーン、またはマップ サービスの URL から取得したレイヤーもサポートされています。 さらに、Web マップや Web シーンをアプリに追加するときは、そのサポートされているレイヤーをウィジェットのデータ ソースとして使用できます。
注意:
- Web マップや Web シーンをデータ ソースとして追加すると、ウィジェットはテーブル、マップ イメージ レイヤー、タイル レイヤー、グループ レイヤーなどのサポートされているレイヤーに接続することができます。 サポートされていないレイヤー タイプはウィジェット設定で使用できず、[データ] パネルの詳細タブに表示されません。
- Map Viewer Classic または Scene Viewer で開けない JSAPI 3.x で作成された Web マップおよび Web シーンは、データ ソースとして使用できません (これらのいずれかのアイテムを追加した場合、これらは選択できず、[データ] パネルにエラー カードとして表示されます)。
次の 2 つの方法で、アプリにデータを追加できます。
- ウィジェットを追加する前に、[データ] パネルの [データの追加] ボタンをクリックして、アプリで使用されるデータを追加します。Experience Builder でサポートされているすべてのデータ タイプが [データの追加] ウィンドウにリストされます。
- ウィジェットを追加する前にデータを追加しない場合は、[データの選択] ウィンドウの下部にある [データの追加] をクリックすることで、ウィジェットの構成時にデータを追加することもできます。 ウィジェットでサポートされているデータ タイプのみを追加できます。 ウィジェットの構成時に追加したデータも [データ] パネルに表示され、他のウィジェットを構成するときに選択できます。
注意:
データを追加する際、サービス、グループ レイヤー、Web マップ、または Web シーンの一部のサブレイヤーを非表示にすることができます。 また、サービス、グループ、Web マップ、または Web シーンの詳細パネルで非表示にすることもできます。 ウィジェットを構成する際、非表示のレイヤーはデータの選択リストには表示されません。 未使用のレイヤーのみを非表示にすることができます。
データの削除
データ ソースは、[データ] パネルでアイテム カードの [削除] オプションを使用して削除できます。 データ ソース内に含まれるデータも同様に削除されます。 ここでデータを削除すると、ウィジェットの構成で使用できなくなります。 ウィジェットにすでに使用されているデータを削除すると、そのデータの情報がアプリに表示されなくなり、そのデータに接続されているすべてのウィジェットが影響を受けます。 データを削除するときに影響を受けるウィジェットを削除できます。または、後で他のデータを接続することで、ウィジェット設定を再構成できます。
データ詳細およびデータ ビュー
[データ] パネルには、アプリに追加したデータのアイテム名が付いたアイテム カードが表示されます。アイコン付きのラベルは、データ タイプを区別するのに役立ちます。 リンクをクリックして元のデータ ソースのアイテム ページを開くと、詳細情報を表示できます。 アイテム カードに表示される名前は、アプリとより関連性の高い名前に変更できます (ソース データは変更されません)。 各カードは、マップまたはシーン内にある関連するウィジェットとレイヤーの数を示します。 データ カードをクリックすると、ウィンドウにデータの詳細が表示されます。
- Web マップ、Web シーン、サービス、およびグループ レイヤーでは、次の情報を表示できます。
- [レイヤー] タブ - データ ソースに含まれるレイヤー。 レイヤーは 2 つのグループに分かれています。[使用中] には、ウィジェット設定で選択されているレイヤーが表示されます。[その他] には、ウィジェットにまだ接続されていないレイヤーが表示されます。 ウィジェットを構成する際、未使用のレイヤーを非表示にして、データの選択リストに表示されないようにすることができます。 レイヤー カードをクリックすると、詳細ウィンドウが開きます。
- [ウィジェット] タブ - マップ、シーン、サービス、またはグループ レイヤー全体を使用するウィジェット。 データで指定したレイヤーのみを使用するウィジェットは、ここには表示されず、対応するレイヤーの下にリストされます。
- 単一のレイヤー (サブレイヤーが含まれないレイヤーも含む) の場合、次の設定オプションおよび情報があります。
- [データ設定] - データのフィルター、並べ替えフィールド、およびレコードの制限を設定します。 このフィルター設定は、レイヤーのすべてのデータ ビューに影響します。
- [更新設定] - 自動更新がオフになっている場合、アプリまたはビルダーを更新したときにのみデータが更新されます。 自動更新をオンにすると、データを更新し、特定の時間間隔に基づいて最新のフィーチャを取得することを許可します。 カスタムの時間間隔を設定したり、データを Web マップから取得している場合は、レイヤーの設定を適用したりすることができます。
- [エクスポートの許可] - データ アクションが有効になった接続済みウィジェットから、実行時にデータをエクスポートするためのオプションを提供します。 (エクスポートは最大 5,000 レコードまで可能。)
注意:
ホスト フィーチャ レイヤーでは、アプリはエンド ユーザーのロールとアイテムの設定で、データのエクスポートが許可されているかどうかも確認します。
- [データ ビュー] タブ - 接続されたウィジェットに表示される情報を制御するフィルター、並べ替えフィールド、レコードの制限を追加することで、サポートされているフィーチャ レイヤーおよびシーン レイヤーのデータ ビューを作成します。 これらの設定はビュー内でのみ有効で、他のデータ ビューやソース データには影響しません。
注意:
各レイヤーには、ウィジェットのデータ ソースの構成時に選択できる組み込みビューもあります。 [デフォルト] ビューには、すべてのフィーチャが含まれます。 [選択フィーチャ] ビューには、実行時に選択したフィーチャが含まれます。 [自動入力] ビューは、リスト ウィジェットの動的コンテンツ設定用に使用されます。
- [空の選択のビュー] - このチェックボックスをオンにして [設定] ボタンをクリックすると、[選択フィーチャ] ビューでフィーチャが選択されていない場合に表示するビューを構成します。 (構成済みのビューのフィーチャは、自動的に選択されません。)
- [フィールド] タブ - ウィジェットで使用されるフィールド。
- [ウィジェット] タブ - 設定でレイヤーを使用するウィジェット。
データの使用
アプリに追加したデータは、どのように追加したかに関係なく、そのアプリ内のすべてのサポートされているウィジェットで使用できます。 1 つのウィジェットで使用されているデータ ソースは、他のウィジェットでも使用できます。 レコード選択は、アプリ全体で同期されます。 さらに、デフォルト データ ビューのフィルターは、 データまたはそのビューを使用するすべてのウィジェットに影響を与えます。 特定のデータ ビューのフィルターは、同じデータ ビューを使用するウィジェットにのみ影響します。
注意:
マップ ウィジェットで Web マップまたは Web シーンを表示すると、新しい Web マップまたは Web シーン ビューが自動的に作成され、このビューは現在のウィジェットでのみ使用されます。 このため、マップ ウィジェット内でのデータ処理は、同じデータ ソースまたはデータ ソースに含まれるレイヤーを使用しているウィジェットには影響しません。 ただし、マップはデフォルト ビューでのデータ処理の影響を受けます。
各ウィジェットの構成パネルには、データに接続するための標準設定が含まれています。 [データの選択] をクリックすると、ウィジェットがサポートするアプリに追加されたデータと出力されたデータをリストするウィンドウが表示されます (非表示のデータはリストされません)。 リストからデータを選択したり、その他のデータをアプリに追加したりできます。[検索] ボックスを使用して、オプションのリストをフィルタリングできます。 検索結果には、アプリに追加した Web マップと Web シーンのサブレイヤーが含まれます。一部のウィジェットは複数のデータ ソースをサポートしているので、リストで複数のアイテムを選択できます。 ウィジェットが 1 つのデータ ソースのみに接続できる場合は、既存のデータ カードをクリックして [データの選択] ウィンドウを開いて、選択を解除してから別のアイテムを選択できます。
以下の表は、データに接続できるウィジェットと、それぞれでサポートされているデータ タイプを示しています。
ウィジェット | サポートされているデータ タイプ* | サポートされているデータの数 |
---|---|---|
ブランチ バージョンの管理 | フィーチャ サービス、マップ サービス (バージョン対応登録する必要があります) | 1 または複数 |
ボタン** | フィーチャ レイヤー、シーン レイヤー | 0 または 1 |
チャート | フィーチャ レイヤー、シーン レイヤー | 1 |
埋め込み** | フィーチャ レイヤー、シーン レイヤー | 0 または 1 |
フィーチャ情報 | フィーチャ レイヤー、シーン レイヤー | 1 |
フィルター | フィーチャ レイヤー、シーン レイヤー | フィルターごとに 1 |
画像** | フィーチャ レイヤー、シーン レイヤー | 0 または 1 |
リスト | フィーチャ レイヤー、シーン レイヤー | 1 |
マップ | Web マップ、Web シーン | 1 または 2 |
マップ レイヤー | Web マップ、Web シーン | 0 または 1 |
クエリ | フィーチャ レイヤー、シーン レイヤー | クエリごとに 1 |
テーブル | フィーチャ レイヤー | シートごとに 1 |
テキスト** | フィーチャ レイヤー、シーン レイヤー | 0 または複数 |
*サポートされているアイテム タイプの特定のリストについては、「アプリへのデータの追加」をご参照ください。
**画像、テキスト、ボタン、および埋め込みのウィジェットは、デフォルトで静的です。 データからの情報を表示するには、[データに接続] 設定を有効にして、属性、統計情報、条件式を使用してパラメーターを指定します。 詳細については、「動的コンテンツ」をご参照ください。
出力データ
アプリに手動で追加するデータに加え、以下のウィジェットでは、独自のデータを処理し、表示した結果をもとに新しい出力データを生成できます。
ソース ウィジェット | 出力データ タイプ | 出力データ数 |
---|---|---|
チャート | フィーチャ レイヤー | 1 |
クエリ | フィーチャ レイヤー | クエリごとに 1 |
これらのソース ウィジェットがアプリで構成されると、それらの出力データが、他のウィジェットを構成時に [データの選択] ウィンドウにリストされます。 出力は新しいデータ ソースとして作成されるため、出力データのフィルターと選択は、元のデータ ソースに影響しません。
注意:
その他のウィジェットにより出力データが使用されているウィジェットを削除すると、関連するウィジェットのリストを含む警告メッセージが表示されます。 削除または保持する関連ウィジェットを選択し、別のデータ ソースを使用して後から再構成できます。
出力データのスキーマは、ソース ウィジェットによって定義されます。 チャート ウィジェットの出力データは、カテゴリ フィールド (構成されている場合) の属性を含む統計情報と、数値フィールドの計算結果です。ジオメトリは含まれません。 クエリ ウィジェットの出力データは、クエリ条件を満たすレコードのサブセットで、フィールドは [結果] 設定で構成されます。 出力データの実際のレコードは、実行時にソース ウィジェットにより動的に生成されます。
データ ソースのビュー
ウィジェット設定でデータが選択されると、ウィジェットがサポートしているデータ ソースの数に応じて、ドロップダウン リストで 1 つ以上のビューを選択できます。 データ ソースには、4 種類のビューがあります。
- [デフォルト] は、データのすべてのフィーチャを含む組み込みビューです。
- [選択フィーチャ] は、ユーザーが実行時に選択したフィーチャを含む組み込みビューです。 選択したフィーチャの状態はすべてのビューで同期されます。 このビューは、操作結果を表示するために使用されます。 たとえば、リスト ウィジェット向けに構成されている場合は、リストには選択したレコードのみが表示されます。また、リスト内のアイテムは、選択肢の変化に伴って動的に変わります。 選択肢がない場合、レコードが選択されるまで、リストにはデータがない旨を示すメッセージが表示されます。 または、[データ] パネルに、空の選択用のビューを作成することもできます。
- [自動入力] は、ウィジェットがリスト ウィジェットに追加され、同じデータ ビューに接続されたときに動的コンテンツ設定で使用できる組み込みビューです。 このビューには、リスト内の各アイテムに対して生成されるフィーチャが 1 つだけ含まれています。
- データ ビューとは、異なるフィルター、並べ替えフィールド、レコードの制限で作成できる、フィーチャのサブセットです。 データ ソースを複数のデータ ビューで事前処理すると、他のデータ ビューやソース データに影響を与えずに、ウィジェットに表示できるデータを制御できます。
注意:
出力データは、カスタム データ ビューの追加をサポートしていません。
注意:
[レコード] タブの [ページ サイズ] 設定はクエリのパフォーマンスと効率化の目的で使用されます。 改ページをサポートするウィジェット内の結果フィーチャの合計数に影響することはありません。 ページ サイズが実際の結果よりも小さい場合、結果がすべて読み込まれるまで複数のリクエストが送信されます。
デフォルトで、[デフォルト] ビューが選択されています。 また、既存のビューを編集するか、ウィジェットに別のビューを作成することもできます。 ウィジェット構成パネルで作成されたビューは、他のウィジェット設定でも選択できます。
動的コンテンツ
一部のウィジェットには、接続されたデータ ソースから動的な情報を使用または表示できる設定があります。 たとえば、指定したフィーチャの属性値、特定の条件を満たしたフィーチャの統計結果、または静的な文字列、動的な値、計算が混在した式などがあります。
属性
指定したデータ ビューのフィーチャの属性値は、次のいずれかのビューを使用して取得します。
- ウィジェットのデータ ソース設定で設定したビュー。
- 元のデータ レイヤーの [選択フィーチャ] ビュー。 このビューでは、操作結果 (選択フィーチャの属性を表示するなど) を表示することができます。
- ウィジェットがリスト ウィジェット (テキスト、画像、ボタンなど) 内にあり、リストと同じデータ ビューが含まれている場合の [自動入力] ビュー。 このビューには、リスト アイテムが表すフィーチャが 1 つだけ含まれます。
選択したビューに複数のフィーチャが含まれている場合、(データ ビューの並べ替え設定に基づいて) 最初のフィーチャの属性値が返されます。
統計情報
指定したデータ ビューで定義されたフィーチャ セットの統計結果を取得します。
結果には、数値フィールドの最大値、最小値、平均値、合計値、またはフィーチャ セットのフィーチャ数が含まれます。
式
式のエディターでは、テキスト (形式: "text")、数値、フィールド変数 (形式: {fieldname})、および AVERAGE({fieldname})、COUNT、SUM({fieldname})、MAX({fieldname})、MIN({fieldname}) などの関数を入力することができます。 各パートはプラス記号 (+) で連結されます。 式は、文字列の連結と数値計算の結果を返します。 たとえば、1 + 1 と入力すると 2 (数値) が返されますが、1 + "1" と入力すると 11 (文字列) が返されます。
入力する際、クリックして挿入できる候補が表示されます。 また、入力ボックスの下に表示されているフィールド名や関数名をクリックすると、フィールド変数や関数を挿入することができます。
[フィールド] タブにあるデータを使用して、フィールド変数が表すデータ ビューを設定することができます。 フィールド変数が式の独立したパートとして追加された場合、そのフィールドの属性値は、指定したデータ ビューの最初のフィーチャから返されます。
数値フィールド変数を関数内で使用した場合 (例: AVG({fieldname}))、関数はそのフィールドのデータ ビューの統計結果を返します。