フィールドの結合 (Join Field) (データ管理)

サマリー

共通属性フィールドに基づいて、テーブルの内容を別のテーブルに永続的に結合します。入力テーブルが更新され、結合テーブル内のフィールドが格納されます。結合テーブルからのフィールドの中から、入力テーブルに追加するフィールドを選択することができます。

[レイヤー、テーブル ビューのキーとなるフィールド] パラメーターの値および [結合テーブル フィールド] パラメーターの値に基づいて [入力テーブル] 内のレコードを [結合テーブル] 内のレコードと照合します。結合時には必要に応じて、特定のフィールドを [結合テーブル] から選択し、[入力テーブル] に付加できます。

使用法

  • [入力テーブル] には、フィーチャクラス (シェープファイルを含む) またはテーブルを指定できます。

  • 結合時は [入力テーブル] 内のすべてのフィールドが保持されます。必要に応じて、[結合テーブル] から特定のフィールドを選択し、出力に追加することも可能です。対象のフィールドは、[転送フィールド] パラメーターで調べることができます。

  • [結合先のテーブル] 内のレコードは、[入力テーブル] 内の複数のレコードと照合できます。

  • オプションの [転送フィールド] パラメーター用にフィールドを選択しない場合、[結合テーブル] から出力に追加されたフィールドがすべて、結合の対象となります。

  • 結合はフィールドのタイプ (テキスト、日付または数値) に基づいて実行できます。

  • テキスト フィールドに基づく結合では、大文字と小文字が区別されます。

  • 数値形式が異なるフィールド同士でも、それぞれの値が等しい限り結合できます。たとえば、Float 型のフィールドと Short 型のフィールドを結合できます。

  • [レイヤー、テーブル ビューのキーとなるフィールド][結合テーブル フィールド] にはそれぞれ異なった名前を付けることができます。

  • 結合フィールドに入力テーブル内のフィールドと同じ名前が付いている場合、結合フィールドの名前が他と重複することのないように、結合フィールドの末尾に _1 (あるいは _2_3、... など) が付加されます。

  • [結合テーブル フィールド] 内の値が一意でない場合は、各値の最初の値のみが使用されます。

    • 最初の値以外の結合テーブル値が考慮されるようにするには、最初に結合テーブルを入力として使用して、[要約統計量] ツールを実行します。[要約統計量] を使用すると、合計値、平均、最小などのフィールドについても概要を出力できるようになります。
    • 結合の前に 2 つ以上のフィールドを結合テーブル内にマージする場合は、先に [テーブル → テーブル (Table To Table)] ツールを使用してテーブルまたはフィーチャクラスをエクスポートします。次に、ツールのフィールド マップを使用してマージします。
  • [結合の整合チェック (Validate Join)] ツールを使用すると、レイヤーまたはテーブルに有効なフィールド名または Object ID フィールドがあるかどうか、結合より一致するレコードが生成されるか、および結合のその他のプロパティを判定するため、2 つのレイヤーまたはテーブル間の結合について整合チェックを行うことができます。

    結合の整合チェックを行うボタンは、簡単に使用できるよう、このツールのダイアログ ボックスにあります。

パラメーター

ラベル説明データ タイプ
入力テーブル

結合テーブルの結合先となるテーブルまたはフィーチャクラス。

Mosaic Layer; Raster Layer; Table View
レイヤー、テーブル ビューのキーとなるフィールド

結合のキーになる入力テーブル内のフィールド。

Field
結合テーブル

入力テーブルに結合されるテーブル。

Mosaic Layer; Raster Layer; Table View
結合テーブル フィールド

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

Field
転送フィールド
(オプション)

入力テーブルと結合テーブルの間の結合に基づいて、入力テーブルに転送される、結合テーブルのフィールド。

Field

派生した出力

ラベル説明データ タイプ
更新された入力テーブル

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

テーブル ビュー; ラスター レイヤー; モザイク レイヤー

arcpy.management.JoinField(in_data, in_field, join_table, join_field, {fields})
名前説明データ タイプ
in_data

結合テーブルの結合先となるテーブルまたはフィーチャクラス。

Mosaic Layer; Raster Layer; Table View
in_field

結合のキーになる入力テーブル内のフィールド。

Field
join_table

入力テーブルに結合されるテーブル。

Mosaic Layer; Raster Layer; Table View
join_field

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

Field
fields
[fields,...]
(オプション)

入力テーブルと結合テーブルの間の結合に基づいて、入力テーブルに転送される、結合テーブルのフィールド。

Field

派生した出力

名前説明データ タイプ
out_layer_or_view

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

テーブル ビュー; ラスター レイヤー; モザイク レイヤー

コードのサンプル

JoinField (フィールドの結合) の例 1 (Python ウィンドウ)

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

import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.JoinField_management("zion_park", "zonecode", "zion_zoning", "zonecode", 
                           ["land_use", "land_cover"])
JoinField (フィールドの結合) の例 2 (スタンドアロン スクリプト)

以下のスタンドアロン Python スクリプトは、フィーチャクラスにテーブルを結合するために使用される JoinField 関数を示しています。このスクリプトでは、テーブルのフィールドのうちの 2 つだけが、結合の対象となります。

# PermanentJoin.py
# Purpose: Join two fields from a table to a feature class 
# Import system modules
import arcpy
# Set the current workspace 
arcpy.env.workspace = "c:/data/data.gdb"
# Set the local parameters
inFeatures = "zion_park"
joinField = "zonecode"
joinTable = "zion_zoning"
fieldList = ["land_use", "land_cover"]
# Join two feature classes by the zonecode field and only carry 
# over the land use and land cover fields
arcpy.JoinField_management(inFeatures, joinField, joinTable, joinField, 
                           fieldList)

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック