リレーションシップを作成してデータを結合

Insights in ArcGIS Online
Insights in ArcGIS Enterprise
Insights desktop

リレーションシップを使用して、共通のフィールドまたは位置に基づいて複数のデータセットの属性を結合できます。 リレーションシップを使用して、参照テーブルの属性を別のデータセットに追加したり、2 つのデータセットの属性を結合して、さまざまなタイプの解析を可能にしたり、非空間テーブルで位置を有効化することができます。

ArcGIS Insights でリレーションシップを作成するには、ページと共通のフィールドを含む複数のサポートされているデータセットを追加する必要があります。

リレーションシップについて

Insights[リレーションシップの作成] ウィンドウで共通のフィールドまたは場所を使用して、複数のデータセットのデータを結合できます。 たとえば、共通フィールド (店舗番号など) を識別することで、売買取引のデータセットを、店舗情報を含むデータセットと関連付けることができます。 共通フィールドは、各データセットでどの行同士が結合されているかを特定し、リレーション タイプはどの行が結合したデータセットで維持されるかを決定します。

データセットの結合で使用できるリレーションシップには、次の 4 タイプがあります。

注意:

空間結合 (位置フィールドを使用した結合) は、空間リレーションシップとして [交差する] を使用して作成されます。 ただし、リレーションシップ タイプとして、[内部]、[すべて]、[左]、[右] も選択できます。

結合したデータセットは、データ ウィンドウに結果データセット 結果 として表示されます。 結合したデータセットでは、すべてのデータを 1 つのレイヤーとして使用することで、解析を拡張できます。

結合したデータセットとの関連から見れば、基数はデータセット間のリレーションシップを意味します。 [リレーションシップの作成] ウィンドウで、データセット間の基数を十分に考察してみてください。基数は、1 対 1、多対 1、多対多のいずれかになります。 基数は、作成するリレーションシップのタイプには影響を与えませんが、結合データセットで集約するフィールドまたはマップに表示するよう選択したフィールドには影響します。

結合するデータセットを選択するときに、Insights は推奨する共通フィールドも提示します。 フィールドが提示されない場合は、リレーションシップに使用するフィールドを選択できます。

サポートされるデータ

リレーションシップを作成するには、次のデータ タイプを使用できます。

  • ホスト フィーチャ レイヤー
  • ワークブックに追加されたファイル
  • データベース接続からのデータセット (Insights in ArcGIS EnterpriseInsights desktop で利用可能)
  • 空間解析の結果データセット (サポートされていないデータ タイプからの結果を含む)

フィーチャ サービスのフィルター設定は、リレーションシップの作成でサポートされていません。 ワークブック内でリレーションシップがサポートされていないデータは、[リレーションシップの作成] ウィンドウで無効になります。

注意:

リモート フィーチャ レイヤー (ArcGIS Living Atlas レイヤーなど) とのリレーションシップは作成できません。

データベース データセットの結合に互換性を持たせるには、データベース データセットを同じデータベースおよびインスタンスから取得する必要があります。 他のデータセットも、結合するものと同じデータ ストアに格納する必要があります。

データセットの結合に互換性がないか、データセットが別のデータ ストアに格納されている場合は、データセットをワークブックにコピーし、コピーしたデータセットを使用してリレーションシップを作成できます。

リレーションシップの作成

リレーションシップを作成してデータセットを結合するには、以下の手順を実行するか、または使用例に従ってプロセスを実行します (各タイプのリレーションシップの説明と結果が記載されています)。

  1. データ ウィンドウの上にある [リレーションシップの作成] ボタン リレーションシップの作成 をクリックします。

    [リレーションシップの作成] ウィンドウが表示され、[マイ データ] の現在のページにデータセットのリストが表示されます。

  2. [マイ データ] で、結合する 1 つ以上のデータセットをクリックします。
    注意:
    リレーションシップ タイプで、または結合を選択する場合、左または右にあるべきデータセットが正しい配置にあることを確認してください。 ページに追加すると、最初に選択したデータセットが左に表示されます。
    ヒント:

    ベストプラクティスは、最も詳細なレベルの (最も粒度の細かい) データセットを左側に配置することです。 以下で説明する使用例では、StoreTransactions データセットを左に配置します。

    最初のデータセットを選択すると、ビューが更新され、リレーションシップに使用できるデータセットのみが表示されます。

    Insights は、追加されたデータセットを解析し、フィールドに含まれるデータのタイプとフィールドの名前に基づいて、結合に使用するフィールドを提示します。 フィールドが提示されれば、各データセットを示すサムネイルにフィールド名が表示され、サムネイル間を結ぶ線で結合を表します。

    提示されたフィールドを表示する選択データセット

  3. 次のいずれかを実行します。
    • 提示されたフィールドを採用し、デフォルトのリレーションシップ タイプ (内部) を使用する場合は、最後の手順に進みます。
    • 別のフィールドを使用する場合は、別のフィールドを結合に追加するか、別のタイプのリレーションシップを選択して、次の手順に進みます。
    • 共通フィールドを検出できなかった場合、データセットのサムネイル間にラインが表示され、[リレーションシップの作成] ウィンドウが開き、共通フィールドを選択できます。 手順 5 に進みます。
  4. 別のフィールドの選択、結合への他のフィールドの追加、リレーションシップ タイプの変更など、リレーションシップのプロパティを編集するには、データセットのサムネイル同士を結ぶリレーションシップ ライン上の [リレーションシップの編集] ボタン リレーションシップの編集 をクリックします。
  5. 1 つ以上のデータセットで別のフィールドを選択するか、別のリレーションシップ タイプを選択した後、リレーションシップ プロパティのダイアログ ボックスを閉じるか、その外部をクリックします。
  6. オプション: リレーションシップに複合キーが必要な場合、[フィールドの選択] の下にある [フィールドの追加] ボタンを使用して、フィールドを追加できます。

    たとえば、[CityName] を [CityName] に結合する場合、[CityName] の値がデータセット内で重複しているため、郡、州、および国も指定する必要があります。

  7. 次のいずれかを実行します。
    • リレーションシップを続行するには、[完了] (右下) をクリックします。
    • 現在のリレーションシップを取り消すには、[キャンセル] をクリックします。

    [完了] をクリックすると、[リレーションシップの作成] ウィンドウが閉じます。 結合したデータを含む新しい結果データセット 結果 がデータ ウィンドウに追加されます。

使用例

このセクションでは使用例を用いて、質問の回答が得られるよう 2 つのデータセット間のリレーションシップを作成する方法について説明し、各リレーションシップ タイプが結合データセットのデータに与える影響についても説明します。

質問は次のとおりです。

  • 店舗ごとの営業収益は?
  • 市内で最も収益の高い店舗は?

ワークブック ページにある 2 つのデータセットを使用して、この質問に回答します。 最初に、3 店舗の店舗取引額を表す Excel テーブルを示します。

OrderIDStoreIDTotalAmountPaymentMethod

1204

1

91.48 ドル

Credit

1295

1

103.86 ドル

Credit

1316

3

97.81 ドル

Debit

1406

2

103.24 ドル

Credit

1421

2

44.95 ドル

Cash

1426

2

153.71 ドル

Debit

1454

3

168.95 ドル

Credit

StoreTransactions データセットは単独で、[StoreID] ごとの [TotalAmount] のサマリーを示します ([StoreID] を文字列フィールドに変更し、バー チャートを作成した場合)。ただし、組織のチーム間で解析結果を共有する場合は、店舗ごとの [TotalAmount] に関するレポートのほうが、理解しやすく好まれます。

補足すると、StoreTransactions データセットは、マップ上で店舗の位置を示すことができません。

2 つ目は、次の 6 つの店舗の位置を示すフィーチャ レイヤーです。

StoreIDStoreName

1

Baskets and Cases

2

Toys! Toys! Toys!

3

Robert's Plants

4

Aisha's Bookstore and Coffee Shop

5

Gadgets and Gizmos

6

Sally's Hardware and Construction

これらのデータセットは、2 つの異なる詳細レベルでデータを追跡します。 1 つ目のデータセットは、トランザクション レベルでデータを追跡します。これは、店舗レベルでデータを追跡する 2 つ目のテーブルよりも詳細なレベルです。

結果として、StoreTransactions の [StoreID] 列には重複するレコード (行) が表示され、StoreLocations の [StoreID] 列には一意のレコードのみが表示されます。 店舗ごとのトランザクションは数多くあります。 これは多対 1 のリレーションシップと呼ばれ、データセット間の基数タイプの 1 つです。

データを確認すると、[StoreID] が 2 つのデータセット間のリレーションシップの作成に使用する最適なフィールドであることがわかります。

この使用例で質問の回答を得るには、次を実行する必要があります。

  1. 各リレーションシップ タイプが、結合されたデータセットに及ぼす影響を検討します。
  2. リレーションシップの作成 (上記) の手順に従って、入力データセットに対して最適に機能するリレーションシップを作成します。
  3. 結合したデータを可視化して、質問に回答します。
    1. 結合データセットの [StoreName] および [TotalAmount] フィールドを使用して、バー チャートを作成するか、サマリー テーブルを作成して、フィールドを集約します。 売上高が店舗名ごとに集約されます。
    2. [TotalAmount] フィールドを使用して等級シンボル マップを作成します。

リレーションシップ タイプ

使用するリレーションシップ タイプと選択する共通フィールドによって、結合データセットに格納されるレコードが決まります。 次のサブセクションでは、結合データセットをリレーションシップ タイプ別に見ていきます。

[内部] リレーションシップ タイプ

デフォルトのリレーションシップ タイプを使用して「リレーションシップの作成」(上記) の手順を実行すると、結合データセットは [内部] リレーションシップ タイプを使用します。

[内部] では、両方のデータセットに一致するレコードのみが格納されます。 NULL レコードは追加されません。

OrderIDStoreIDTotalAmountPaymentMethodStoreIDStoreName

1204

1

91.48 ドル

Credit

1

Baskets and Cases

1295

1

103.86 ドル

Credit

1

Baskets and Cases

1316

3

97.81 ドル

Debit

3

Robert's Plants

1406

2

103.24 ドル

Credit

2

Toys! Toys! Toys!

1421

2

44.95 ドル

Cash

2

Toys! Toys! Toys!

1426

2

153.71 ドル

Debit

2

Toys! Toys! Toys!

1454

3

168.95 ドル

Credit

3

Robert's Plants

除外されたレコードは、StoreLocations データセットの StoreID 4 ~ 6 のレコードです。

デフォルトのリレーションシップ タイプを使用すると、上記の使用例の質問の答えが見つかりやすくなります。 データを可視化する際、[内部] リレーション タイプは NULL 値を表示しないデータを提供します。

[すべて] リレーションシップ タイプ

[すべて] リレーションシップ タイプ (完全外部結合) を使用すると、両方のデータセットのすべてのレコードが維持され、一致しないレコードは NULL 値として処理されます。

OrderIDStoreIDTotalAmountPaymentMethodStoreIDStoreName

1204

1

91.48 ドル

Credit

1

Baskets and Cases

1295

1

103.86 ドル

Credit

1

Baskets and Cases

1316

3

97.81 ドル

Debit

3

Robert's Plants

1406

2

103.24 ドル

Credit

2

Toys! Toys! Toys!

1421

2

44.95 ドル

Cash

2

Toys! Toys! Toys!

1426

2

153.71 ドル

Debit

2

Toys! Toys! Toys!

1454

3

168.95 ドル

Credit

3

Robert's Plants

5

Gadgets and Gizmos

6

Sally's Hardware and Construction

4

Aisha's Bookstore and Coffee Shop

作成されたデータセットでは、右のデータセット (StoreLocations) の [StoreID] 4、5、および 6 に該当するレコードとして、左のデータセット (StoreTransactions) をソースとする列に NULL 値が表示されています。 これは、左のデータセットにこれらのストア ID に一致するレコードがないためです。

[左] リレーションシップ タイプ

[左] リレーションシップ タイプ (左外部結合) を使用する際は、レコードを保持したいデータセットを最初に選択し、このデータセットが [リレーションシップの作成] ウィンドウの左側に来るようにする必要があります。 詳細については、「リレーションシップの作成」をご参照ください。

右のデータセット (StoreLocations) のレコードが照合され、左のデータセット (StoreTransactions) のレコードに一致するレコードが保持されます。 右側に一致するレコードがない場合は、右側に NULL 値が表示されます。

OrderIDStoreIDTotalAmountPaymentMethodStoreIDStoreName

1204

1

91.48 ドル

Credit

1

Baskets and Cases

1295

1

103.86 ドル

Credit

1

Baskets and Cases

1316

3

97.81 ドル

Debit

3

Robert's Plants

1406

2

103.24 ドル

Credit

2

Toys! Toys! Toys!

1421

2

44.95 ドル

Cash

2

Toys! Toys! Toys!

1426

2

153.71 ドル

Debit

2

Toys! Toys! Toys!

1454

3

168.95 ドル

Credit

3

Robert's Plants

この結合データセットは、[内部] リレーションシップ タイプと外見がほぼ同じです。 使用例の質問の答えを得るには、[左] または [内部] のいずれかのリレーションシップ タイプを使用して、2 つのテーブル間のリレーションシップを作成してから、バー チャートを作成します (NULL 値は表示されません)。

左側 (StoreTransactions) に、右側の StoreLocations データセットにはない [StoreID 7] のレコードがある場合、左結合の右側には NULL レコードが表示されます。

OrderIDStoreIDTotalAmountPaymentMethodStoreIDStoreName

1204

1

91.48 ドル

Credit

1

Baskets and Cases

1295

1

103.86 ドル

Credit

1

Baskets and Cases

1316

3

97.81 ドル

Debit

3

Robert's Plants

1406

2

103.24 ドル

Credit

2

Toys! Toys! Toys!

1421

2

44.95 ドル

Cash

2

Toys! Toys! Toys!

1426

2

153.71 ドル

Debit

2

Toys! Toys! Toys!

1454

3

168.95 ドル

Credit

3

Robert's Plants

1502

7

112.65 ドル

Cash

[右] リレーションシップ タイプ

[右] リレーションシップ タイプ (右外部結合) を使用する場合、左のデータセットを最初に選択し、右のデータセットを次に選択することで、レコードのソースとなるデータセットが、[リレーションシップの作成] ウィンドウの右側に来るようにしなければなりません。 詳細については、「リレーションシップの作成」をご参照ください。

左のデータセット (StoreTransactions) のレコードが照合され、右のデータセット (StoreLocations) のレコードに一致するレコードが保持されます。 左側に一致するレコードがない場合は、左側に NULL 値が表示されます。

OrderIDStoreIDTotalAmountPaymentMethodStoreIDStoreName

1204

1

91.48 ドル

Credit

1

Baskets and Cases

1295

1

103.86 ドル

Credit

1

Baskets and Cases

1316

3

97.81 ドル

Debit

3

Robert's Plants

1406

2

103.24 ドル

Credit

2

Toys! Toys! Toys!

1421

2

44.95 ドル

Cash

2

Toys! Toys! Toys!

1426

2

153.71 ドル

Debit

2

Toys! Toys! Toys!

1454

3

168.95 ドル

Credit

3

Robert's Plants

5

Gadgets and Gizmos

6

Sally's Hardware and Construction

4

Aisha's Bookstore and Coffee Shop

上記の右結合データセットから作成されたバー チャートには、NULL 値が表示されます。