Tabellenvergleich (Datenmanagement)

Zusammenfassung

Vergleicht zwei Tabellen oder Tabellensichten und gibt die Vergleichsergebnisse zurück.

Verwendung

  • Mit diesem Werkzeug werden Meldungen mit den Vergleichsergebnissen zurückgegeben. Standardmäßig wird die Ausführung nach dem Auffinden des ersten Übereinstimmungsfehlers beendet. Sollen alle Abweichungen in den Bericht aufgenommen werden, aktivieren Sie den Parameter Vergleich fortsetzen.

  • Mit Tabellenvergleich können Unterschiede und Ähnlichkeiten bei Tabellenwerten und Felddefinitionen gemeldet werden.

  • Es können mehrere Sortierfelder angegeben werden. Sowohl die Eingabe-Basistabelle als auch die Eingabe-Testtabelle werden auf Grundlage der angegebenen Felder sortiert. Es wird das erste Feld sortiert, anschließend das zweite usw. (in aufsteigender Reihenfolge). Wenn Sie nach einem gemeinsamen Feld in Basis- und Testtabelle sortieren, können Sie sicherstellen, dass für jedes Eingabe-Dataset dieselbe Zeile verglichen wird.

  • Wenn Sie Felder weglassen, die nicht im Vergleich der Feldanzahl enthalten sind, werden die Felddefinitionen und Tabellenwerte für diese Felder ignoriert.

  • Attributtoleranzen können nur für Zahlenfelder angegeben werden.

  • Die Ausgabe-Vergleichsdatei enthält alle Ähnlichkeiten und Unterschiede der Eingabe-Basistabelle und der Eingabe-Testtabelle. Diese Datei ist eine kommagetrennte Textdatei, die in ArcGIS als Tabelle angezeigt und verwendet werden kann. Diese Tabelle kann beispielsweise abgefragt werden, um alle ObjectID-Werte für alle abweichenden Zeilen abzurufen.

  • Bei der Verwendung dieses Werkzeugs in Python können Sie den Status des Werkzeugs mit result.getOutput(1) abrufen. Der Wert lautet 'true', wenn keine Unterschiede gefunden werden, und 'false', wenn Unterschiede festgestellt werden.

    Weitere Informationen zur Verwendung von Werkzeugen in Python

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Basistabelle

Die Eingabe-Basistabelle wird mit der Eingabe-Testtabelle verglichen. Die Eingabe-Basistabelle bezieht sich auf die Tabellendaten, die als gültig deklariert wurden. Die Basisdaten verfügen über die richtigen Felddefinitionen und Attributwerte.

Table View; Raster Layer
Eingabe-Testtabelle

Die Eingabe-Testtabelle wird mit der Eingabe-Basistabelle verglichen. Die Eingabe-Testtabelle bezieht sich auf Daten, an denen Sie durch Bearbeitung oder Kompilierung neuer Felder, neuer Datensätze oder neuer Attributwerte Änderungen vorgenommen haben.

Table View ; Raster Layer
Sortierfeld

Das Feld bzw. die Felder, die zur Sortierung von Datensätzen in der Eingabe-Basistabelle und der Eingabe-Testtabelle verwendet werden. Die Datensätze werden in aufsteigender Reihenfolge sortiert. Standardmäßig wird mit einem gemeinsamen Feld für die Eingabe-Basistabelle und die Eingabe-Testtabelle sichergestellt, dass für jedes Eingabe-Dataset dieselbe Zeile verglichen wird.

Value Table
Vergleichstyp
(optional)

Der Vergleichstyp. Die Standardeinstellung ist ALL. Mit der Standardeinstellung werden alle Eigenschaften der zu vergleichenden Tabellen verglichen.

  • ALLEs werden alle Eigenschaften verglichen. Dies ist die Standardeinstellung.
  • ATTRIBUTES_ONLYEs werden nur die Attribute und ihre Werte verglichen.
  • SCHEMA_ONLYEs wird nur das Schema verglichen.
String
Ausschlussoptionen
(optional)

Diese Eigenschaften werden nicht verglichen.

  • IGNORE_EXTENSION_PROPERTIESDie Erweiterungseigenschaften werden nicht verglichen.
  • IGNORE_SUBTYPESDie Subtypes werden nicht verglichen.
  • IGNORE_RELATIONSHIPCLASSESDie Beziehungsklassen werden nicht verglichen.
  • IGNORE_FIELDALIASDie Feld-Aliasnamen werden nicht verglichen.
String
Attributtoleranz
(optional)

Der numerische Wert, mit dem festgelegt wird, in welchem Bereich Attributwerte als gleich betrachtet werden. Diese Option ist nur für Zahlenfelder relevant.

Value Table
Felder weglassen
(optional)

Das Feld beziehungsweise die Felder, die beim Vergleich übergangen werden. Die Felddefinitionen und die Tabellenwerte für diese Felder werden ignoriert.

String
Vergleich fortsetzen
(optional)

Gibt an, ob nach dem Auffinden des ersten Übereinstimmungsfehlers alle Eigenschaften verglichen werden sollen.

  • Deaktiviert: Nach dem Auffinden des ersten Übereinstimmungsfehlers anhalten. Dies ist die Standardeinstellung.
  • Aktiviert: Nach dem Auffinden des ersten Übereinstimmungsfehlers weitere Eigenschaften vergleichen.

Boolean
Ausgabe-Vergleichsdatei
(optional)

Diese Datei enthält alle Ähnlichkeiten und Unterschiede zwischen Eingabe-Basistabelle und Eingabe-Testtabelle. Diese Datei ist eine kommagetrennte Textdatei, die in ArcGIS als Tabelle angezeigt und verwendet werden kann.

File

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Vergleichsstatus

Der Vergleichsstatus lautet 'true', wenn keine Unterschiede gefunden werden, und 'false', wenn Unterschiede festgestellt werden.

Boolesch

arcpy.management.TableCompare(in_base_table, in_test_table, sort_field, {compare_type}, {ignore_options}, {attribute_tolerances}, {omit_field}, {continue_compare}, {out_compare_file})
NameErläuterungDatentyp
in_base_table

Die Eingabe-Basistabelle wird mit der Eingabe-Testtabelle verglichen. Die Eingabe-Basistabelle bezieht sich auf die Tabellendaten, die als gültig deklariert wurden. Die Basisdaten verfügen über die richtigen Felddefinitionen und Attributwerte.

Table View; Raster Layer
in_test_table

Die Eingabe-Testtabelle wird mit der Eingabe-Basistabelle verglichen. Die Eingabe-Testtabelle bezieht sich auf Daten, an denen Sie durch Bearbeitung oder Kompilierung neuer Felder, neuer Datensätze oder neuer Attributwerte Änderungen vorgenommen haben.

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

Das Feld bzw. die Felder, die zur Sortierung von Datensätzen in der Eingabe-Basistabelle und der Eingabe-Testtabelle verwendet werden. Die Datensätze werden in aufsteigender Reihenfolge sortiert. Standardmäßig wird mit einem gemeinsamen Feld für die Eingabe-Basistabelle und die Eingabe-Testtabelle sichergestellt, dass für jedes Eingabe-Dataset dieselbe Zeile verglichen wird.

Value Table
compare_type
(optional)

Der Vergleichstyp. Die Standardeinstellung ist ALL. Mit der Standardeinstellung werden alle Eigenschaften der zu vergleichenden Tabellen verglichen.

  • ALLEs werden alle Eigenschaften verglichen. Dies ist die Standardeinstellung.
  • ATTRIBUTES_ONLYEs werden nur die Attribute und ihre Werte verglichen.
  • SCHEMA_ONLYEs wird nur das Schema verglichen.
String
ignore_options
[ignore_options,...]
(optional)

Diese Eigenschaften werden nicht verglichen.

  • IGNORE_EXTENSION_PROPERTIESDie Erweiterungseigenschaften werden nicht verglichen.
  • IGNORE_SUBTYPESDie Subtypes werden nicht verglichen.
  • IGNORE_RELATIONSHIPCLASSESDie Beziehungsklassen werden nicht verglichen.
  • IGNORE_FIELDALIASDie Feld-Aliasnamen werden nicht verglichen.
String
attribute_tolerances
[[Field, {Tolerance}],...]
(optional)

Der numerische Wert, mit dem festgelegt wird, in welchem Bereich Attributwerte als gleich betrachtet werden. Diese Option ist nur für Zahlenfelder relevant.

Value Table
omit_field
[omit_field,...]
(optional)

Das Feld beziehungsweise die Felder, die beim Vergleich übergangen werden. Die Felddefinitionen und die Tabellenwerte für diese Felder werden ignoriert.

String
continue_compare
(optional)

Gibt an, ob nach dem Auffinden des ersten Übereinstimmungsfehlers alle Eigenschaften verglichen werden sollen.

  • NO_CONTINUE_COMPARENach dem Auffinden des ersten Übereinstimmungsfehlers anhalten. Dies ist die Standardeinstellung.
  • CONTINUE_COMPARENach dem Auffinden des ersten Übereinstimmungsfehlers weitere Eigenschaften vergleichen.
Boolean
out_compare_file
(optional)

Diese Datei enthält alle Ähnlichkeiten und Unterschiede zwischen den in_base_table und den in_test_table. Diese Datei ist eine kommagetrennte Textdatei, die in ArcGIS als Tabelle angezeigt und verwendet werden kann.

File

Abgeleitete Ausgabe

NameErläuterungDatentyp
compare_status

Der Vergleichsstatus lautet 'true', wenn keine Unterschiede gefunden werden, und 'false', wenn Unterschiede festgestellt werden.

Boolesch

Codebeispiel

TableCompare – Beispiel 1 (Python-Fenster)

Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion TableCompare im unmittelbaren Modus verwendet wird.

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 – Beispiel 2 (eigenständiges Skript)

Beispiel für die Verwendung des Werkzeugs TableCompare in einem eigenständigen Skript.

# 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)