テーブル比較 (Table Compare) (データ管理)

概要

2 つのテーブルおよびテーブル ビューを比較して、比較結果を返します。

使用法

  • このツールは、比較結果を示すメッセージを返します。デフォルトで、最初の不一致が検出されるとこのツールは実行を停止します。相違点をすべてレポートする場合は、[比較を継続] パラメーターをオンにします。

  • [テーブル比較 (Table Compare)] ツールは、テーブル値とフィールド定義の相違点をレポートできます。

  • 複数のソート フィールドを指定できます。指定するフィールドに基づいて、[入力ベース テーブル] および [入力テスト テーブル] が並べ替えられます。最初のフィールドが並べ替えられたら、2 番目のフィールドが並べ替えられ、以降、昇順で並べ替えが行われます。ベース テーブルとテスト テーブルの両方にある共通フィールドで並べ替えることにより、各入力データセットの同じ行を比較することができます。

  • デフォルトでは、比較タイプは [すべて](Python では ALL) に設定されます。つまり、フィールドのプロパティや属性などを含め、比較されるテーブルのすべてのプロパティがオンになります。ただし、比較するテーブルの特定のプロパティだけをオンにする、別の比較タイプを選択することもできます。

  • [比較対象外のプロパティ] は、比較からプロパティを除外する柔軟性を提供します。これらのプロパティには、エクステンション プロパティ、サブタイプ、およびリレーションシップ クラスが含まれます。

  • フィールド数の比較に含まれていないフィールドを除外すると、これらのフィールドのフィールド定義とテーブル値は無視されます。

  • 属性許容値は、数値フィールド タイプにのみ指定できます。

  • [出力比較ファイル] には、[入力ベース テーブル] および [入力テスト テーブル] の間のすべての類似点と相違点が含まれます。このファイルは、ArcGIS でテーブルとして表示および使用できる、カンマ区切りテキスト ファイルです。たとえば、このテーブルを検索して、差異のあるすべての行のすべての ObjectID 値を取得できます。

  • Python でこのツールを使用する場合は、result.getOutput(1) を使用してこのツールのステータスを取得できます。相違点が検出されない場合は値が 'true'、相違点が検出された場合は 'false' になります。

    Python でのツールの使用の詳細

構文

arcpy.management.TableCompare(in_base_table, in_test_table, sort_field, {compare_type}, {ignore_options}, {attribute_tolerances}, {omit_field}, {continue_compare}, {out_compare_file})
パラメーター説明データ タイプ
in_base_table

[入力ベース テーブル][入力テスト テーブル] と比較されます。[入力ベース テーブル] には、正しい表形式データを参照します。ベース データには、正しいフィールド定義と属性値が含まれています。

Table View; Raster Layer
in_test_table

[入力テスト テーブル][入力ベース テーブル] と比較されます。[入力テスト テーブル] は、新しいフィールド、レコード、または属性値を編集またはコンパイルすることにより、変更したデータを参照します。

Table View ; Raster Layer
sort_field
[sort_field,...]

[入力ベース テーブル] および [入力テスト テーブル] でレコードを並べ替えるために使用されるフィールド。レコードは昇順で並べ替えられます。[入力ベース テーブル] および [入力テスト テーブル] の両方にある共通フィールドで並べ替えることにより、各入力データセットの同じ行を比較することができます。

Value Table
compare_type
(オプション)

比較タイプ。「すべて」がデフォルトです。デフォルトを使用すると、比較対象テーブルのすべてのプロパティが比較されます。

  • ALLすべてのプロパティを比較します。これがデフォルトです。
  • ATTRIBUTES_ONLY属性とその値だけを比較します。
  • SCHEMA_ONLYスキーマだけを比較します。
String
ignore_options
[ignore_options,...]
(オプション)

これらのプロパティは比較されません。

  • IGNORE_EXTENSION_PROPERTIESエクステンション プロパティを比較しません。
  • IGNORE_SUBTYPESサブタイプを比較しません。
  • IGNORE_RELATIONSHIPCLASSESリレーションシップ クラスを比較しません。
  • IGNORE_FIELDALIASフィールド エイリアスを比較しません。
String
attribute_tolerances
[[Field, {Tolerance}],...]
(オプション)

属性値が等しいと考えられる範囲を決める数値。これは数値フィールド タイプにのみ適用されます。

Value Table
omit_field
[omit_field,...]
(オプション)

比較時に除外されるフィールド。これらのフィールドのフィールド定義とテーブル値は無視されます。

String
continue_compare
(オプション)

最初の不一致を検出した後にすべてのプロパティを比較するかどうかを示します。

  • NO_CONTINUE_COMPARE最初の不一致を検出した後に停止します。これがデフォルトです。
  • CONTINUE_COMPARE最初の不一致を検出した後に他のプロパティを比較します。
Boolean
out_compare_file
(オプション)

このファイルには、in_base_tablein_test_table の間のすべての類似点と相違点が含まれます。このファイルは、ArcGIS でテーブルとして表示および使用できる、カンマ区切りテキスト ファイルです。

File

派生した出力

名前説明データ タイプ
compare_status

相違点が検出されない場合は比較状況が 'true'、相違点が検出された場合は 'false' になります。

Boolean

コードのサンプル

TableCompare (テーブル比較) の例 1 (Python ウィンドウ)

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

import arcpy
arcpy.TableCompare_management(
    r'c:\Workspace\wells.dbf', r'c:\Workspace\wells_new.dbf', 'WELL_ID', 
    'ALL', 'IGNORE_EXTENSION_PROPERTIES', 'WELL_DEPTH 0.001', '#', 
    'CONTINUE_COMPARE', r'C:\Workspace\well_compare.txt')
TableCompare (テーブル比較) の例 2 (スタンドアロン スクリプト)

スタンドアロン スクリプトで TableCompare (フィーチャ比較) ツールを使用する方法の例。

# Name: TableCompare.py
# Description: Compare two dBASE tables and return comparison result.
# import system modules 
import arcpy
# Set local variables
base_table= "C:/Workspace/wells.dbf"
test_table = "C:/Workspace/wells_new.dbf"
sort_field = "WELL_ID"
compare_type = "ALL"
ignore_option = "IGNORE_EXTENSION_PROPERTIES"
attribute_tolerance = "WELL_DEPTH 0.001"
omit_field = "#"
continue_compare = "CONTINUE_COMPARE"
compare_file = "C:/Workspace/well_compare.txt"
# Process: FeatureCompare
compare_result = arcpy.TableCompare_management(
    base_table, test_table, sort_field, compare_type, ignore_option, 
    attribute_tolerance, omit_field, continue_compare, compare_file)

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック