リレートの追加 (Add Relate) (データ管理)

サマリー

フィールド値に基づいて、レイヤーを別のレイヤーまたはテーブルにリレートします。 ラスター属性テーブルを含むフィーチャ レイヤー、テーブル ビュー、サブタイプ グループ レイヤー、およびラスター レイヤーを使用できます。

[リレート先のテーブル] パラメーター値のレコードは、入力 [レイヤー名またはテーブル ビュー] パラメーター値のレコードに一致します。 入力のリレート フィールドと、出力のリレート フィールドが等しい場合に一致したと見なされます。 リレートによりデータは変更されません。リレートは、レイヤーのプロパティです。

使用法

  • 入力がフィーチャクラスまたはデータセット パスの場合、このツールは、ツールの結果が適用された新しいレイヤーを作成して返します。

  • リレート テーブルのレコードを、入力のレイヤーまたはテーブル ビュー内の複数のレコードと照合することができます。

  • リレート テーブルには、ジオデータベース テーブルまたは dBASE ファイルを使用できます。 リレート テーブルがレイヤーである必要はありません。

  • 入力にオブジェクト ID フィールドが必要です。 リレート テーブルにオブジェクト ID を含める必要はありません。

  • 他のプロジェクトで使用するためにリレートを保存するには、[レイヤー ファイルの保存 (Save To Layer File)] ツールを使用して、レイヤーをレイヤー ファイルに保存してください。 この操作はレイヤーに対してのみ可能です。テーブル ビューはこの方法では保存できません。

  • 永続的なリレートを作成するには、[リレーションシップ クラスの作成 (Create Relationship Class)] ツールを使用します。

  • リレートのキーとなる、入力レイヤーまたはテーブル ビューおよびリレート テーブル内の各フィールドにインデックスを付けると、パフォーマンスを向上させることができます。 これには、[属性インデックスの追加 (Add Attribute Index)] ツールが使用できます。

  • 入力レイヤーにリレーションシップがあり、関連データの自動選択プロパティがオンになっている場合、入力レイヤーで選択を行うと、関連テーブルのレコードも選択されます。

パラメーター

ラベル説明データ タイプ
レイヤー名、またはテーブル ビュー

リレート テーブルにリレートするレイヤーまたはテーブル ビュー

Mosaic Layer; Raster Layer; Table View
入力リレート フィールド

リレートのキーとなる、入力レイヤーまたはテーブル ビューのフィールド

Field
リレート先のテーブル

入力レイヤーまたはテーブル ビューにリレートするテーブルまたはテーブル ビュー

Mosaic Layer; Raster Layer; Table View
出力リレート フィールド

リレートのキーとなる値が格納されている、リレート テーブル内のフィールド。

Field
リレート名

リレートに付与する一意の名前。

String
基数
(オプション)

リレーションシップの基数を指定します。

  • 1 対 1入力テーブルとリレート テーブルは 1 対 1 の関係になります。 たとえば、入力テーブル内の 1 つのレコードには、リレート テーブル内に一致するレコードが 1 つだけあります。
  • 1 対多入力テーブルとリレート テーブルは 1 対多の関係になります。 たとえば、入力テーブル内の 1 つのレコードは、リレート テーブル内に一致するレコードを複数持つことができます これがデフォルトです。
  • 多対多入力テーブルとリレート テーブルは多対多の関係になります。 たとえば、入力テーブル内で同じ値を持つ多数のレコードは、リレート テーブル内に一致するレコードを複数持つことができます。
String

派生した出力

ラベル説明データ タイプ
更新された入力レイヤーまたはテーブル ビュー

更新された入力データセット。

Table View; Raster Layer; Mosaic Layer

arcpy.management.AddRelate(in_layer_or_view, in_field, relate_table, relate_field, relate_name, {cardinality})
名前説明データ タイプ
in_layer_or_view

リレート テーブルにリレートするレイヤーまたはテーブル ビュー

Mosaic Layer; Raster Layer; Table View
in_field

リレートのキーとなる、入力レイヤーまたはテーブル ビューのフィールド

Field
relate_table

入力レイヤーまたはテーブル ビューにリレートするテーブルまたはテーブル ビュー

Mosaic Layer; Raster Layer; Table View
relate_field

リレートのキーとなる値が格納されている、リレート テーブル内のフィールド。

Field
relate_name

リレートに付与する一意の名前。

String
cardinality
(オプション)

リレーションシップの基数を指定します。

  • ONE_TO_ONE入力テーブルとリレート テーブルは 1 対 1 の関係になります。 たとえば、入力テーブル内の 1 つのレコードには、リレート テーブル内に一致するレコードが 1 つだけあります。
  • ONE_TO_MANY入力テーブルとリレート テーブルは 1 対多の関係になります。 たとえば、入力テーブル内の 1 つのレコードは、リレート テーブル内に一致するレコードを複数持つことができます これがデフォルトです。
  • MANY_TO_MANY入力テーブルとリレート テーブルは多対多の関係になります。 たとえば、入力テーブル内で同じ値を持つ多数のレコードは、リレート テーブル内に一致するレコードを複数持つことができます。
String

派生した出力

名前説明データ タイプ
out_layer_or_view

更新された入力データセット。

Table View; Raster Layer; Mosaic Layer

コードのサンプル

AddRelate の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで AddRelate 関数を使用する方法を示しています。

import arcpy
arcpy.management.AddRelate("Parcel", "ParcelID", "owner_table", "ParcelID", 
                           "Owner2Parcel")