テーブル結合の解除(Remove Join) (データ管理)
サマリ
フィーチャ レイヤまたはテーブル ビューから結合を解除します。
使用法
- 
[解除するテーブル結合] パラメータは、入力レイヤまたはテーブル ビューに結合されたテーブルの名前です。 - 結合テーブルを MyTable.dbf という名前の dBASE ファイルとした場合、結合名は「MyTable」となるので、削除する際は「MyTable」と指定してください。
- 結合テーブルを MyTable2 という名前の INFO テーブルまたはジオデータベース テーブルとした場合、結合名は「MyTable2」となるので、削除する際は「MyTable2」と指定してください。
- 結合名に反映されるのは、テーブル ビュー自体の名前でなく、テーブル ビューのソースです。そのため、テーブル ビューが TableView1 という名前で、mytable.dbf を指している場合、結合の名前は「mytable」となります。
 
- 
レイヤが 2 つのテーブルに結合されている場合、最初の結合が解除されてから、両方の結合が解除されます。たとえば、レイヤ 1 をテーブル A に結合するとします。その後、レイヤ 1 をテーブル B に結合します。テーブル A への結合を解除すると、テーブル B への結合も解除されます。 
- 
このツールは、ArcMap 内部で機能するだけでなく、他の ArcGIS アプリケーションおよびスクリプト内のレイヤやテーブル ビューに対しても機能します。[フィーチャ レイヤの作成(Make Feature Layer)] ツールはフィーチャクラスからレイヤを作成するのに対して、[テーブル ビューの作成(Make Table View)] ツールは入力テーブルまたはフィーチャクラスからテーブル ビューを作成します。レイヤまたはテーブル ビューを [テーブル結合(Add Join)] ツールおよび [テーブル結合の解除(Remove Join)] ツールへの入力として使用できます。 
構文
| パラメータ | 説明 | データ タイプ | 
| in_layer_or_view | 結合を解除するレイヤまたはテーブル ビュー。 | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View | 
| join_name (オプション) | 解除対象となる結合。 | String | 
コードのサンプル
次の Python ウィンドウ スクリプトは、ArcMap のコンテンツ ウィンドウで veglayer という名前のフィーチャ レイヤに対してイミディエイト モードで RemoveJoin(テーブル結合の解除)ツールを使用する方法を示しています。
arcpy.RemoveJoin_management("veglayer", "vegtable")
このスタンドアロン スクリプトは、結合テーブルから取得したフィールドの値に基づいてテーブルにフィールドを追加し、その値を計算するワークフローの一部としての RemoveJoin(テーブル結合の解除)関数を示しています。
# AddFieldFromJoin.py
# Description: Adds a field to a table, and calculates its values based
#              on the values in a field from a joined table
# Import system modules
import arcpy
from arcpy import env
try:
    # set the environments
    env.workspace = "C:/data"
    env.qualifiedFieldNames = "UNQUALIFIED"
    
    # Define script parameters    
    inFeatures = "Habitat_Analysis.gdb/vegtype"
    layerName = "veg_layer"
    newField = "description"
    joinTable = "vegtable.dbf"
    joinField = "HOLLAND95"
    calcExpression = "!vegtable.VEG_TYPE!"
    outFeature = "Habitat_Analysis.gdb/vegjoin335"
    
    # Add the new field
    arcpy.AddField_management (inFeatures, newField, "TEXT")
    
    # Create a feature layer from the vegtype featureclass
    arcpy.MakeFeatureLayer_management (inFeatures,  layerName)
    
    # Join the feature layer to a table
    arcpy.AddJoin_management (layerName, joinField, joinTable, joinField)
    
    # Populate the newly created field with values from the joined table
    arcpy.CalculateField_management (layerName, newField, calcExpression, "PYTHON")
    
    # Remove the join
    arcpy.RemoveJoin_management (layerName, "vegtable")
    
    # Copy the layer to a new permanent feature class
    arcpy.CopyFeatures_management (layerName, outFeature)
    
except Exception, e:
    
    import traceback, sys
    tb = sys.exc_info()[2]
    print "Line %i" % tb.tb_lineno
    print e.message