概要
共通属性フィールドに基づいて、テーブルの内容を別のテーブルに永続的に結合します。入力テーブルが更新され、結合テーブル内のフィールドが格納されます。結合テーブルからのフィールドの中から、入力テーブルに追加するフィールドを選択することができます。
[レイヤー、テーブル ビューのキーとなるフィールド] パラメーターの値および [結合テーブル フィールド] パラメーターの値に基づいて [入力テーブル] 内のレコードを [結合テーブル] 内のレコードと照合します。結合時には必要に応じて、特定のフィールドを [結合テーブル] から選択し、[入力テーブル] に付加できます。
使用法
[入力テーブル] には、フィーチャクラス (シェープファイルを含む) またはテーブルを指定できます。
結合時は [入力テーブル] 内のすべてのフィールドが保持されます。必要に応じて、[結合テーブル] から特定のフィールドを選択し、出力に追加することも可能です。対象のフィールドは、[転送フィールド] パラメーターで調べることができます。
[結合先のテーブル] 内のレコードは、[入力テーブル] 内の複数のレコードと照合できます。
オプションの [転送フィールド] パラメーター用にフィールドを選択しない場合、[結合テーブル] から出力に追加されたフィールドがすべて、結合の対象となります。
結合はフィールドのタイプ (テキスト、日付または数値) に基づいて実行できます。
テキスト フィールドに基づく結合では、大文字と小文字が区別されます。
数値形式が異なるフィールド同士でも、それぞれの値が等しい限り結合できます。たとえば、Float 型のフィールドと Short 型のフィールドを結合できます。
[レイヤー、テーブル ビューのキーとなるフィールド] と [結合テーブル フィールド] にはそれぞれ異なった名前を付けることができます。
結合フィールドに入力テーブル内のフィールドと同じ名前が付いている場合、結合フィールドの名前が他と重複することのないように、結合フィールドの末尾に _1 (あるいは _2、_3、... など) が付加されます。
[結合テーブル フィールド] 内の値が一意でない場合は、各値の最初の値のみが使用されます。
- 最初の値以外の結合テーブル値が考慮されるようにするには、最初に結合テーブルを入力として使用して、[要約統計量] ツールを実行します。[要約統計量] を使用すると、合計値、平均、最小などのフィールドについても概要を出力できるようになります。
- 結合の前に 2 つ以上のフィールドを結合テーブル内にマージする場合は、先に [テーブル → テーブル (Table To Table)] ツールを使用してテーブルまたはフィーチャクラスをエクスポートします。次に、ツールのフィールド マップを使用してマージします。
[結合の整合チェック (Validate Join)] ツールを使用すると、レイヤーまたはテーブルに有効なフィールド名または Object ID フィールドがあるかどうか、結合より一致するレコードが生成されるか、および結合のその他のプロパティを判定するため、2 つのレイヤーまたはテーブル間の結合について整合チェックを行うことができます。
結合の整合チェックを行うボタンは、簡単に使用できるよう、このツールのダイアログ ボックスにあります。
構文
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 | 更新された入力データセット。 | テーブル ビュー; ラスター レイヤー; モザイク レイヤー |
コードのサンプル
次の Python ウィンドウ スクリプトは、イミディエイト モードで JoinField 関数を使用する方法を示しています。
import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.JoinField_management("zion_park", "zonecode", "zion_zoning", "zonecode",
["land_use", "land_cover"])
以下のスタンドアロン 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: はい
- Standard: はい
- Advanced: はい