Campo de unión (Administración de datos)
Resumen
Une el contenido de una tabla a otra tabla basándose en un campo de atributos común. La tabla de entrada se actualiza para contener los campos de la tabla a unir. Puede seleccionar qué campos de la tabla a unir se agregarán a la tabla de entrada.
Los registros de la Tabla de entrada se unen con los registros de la Tabla de unión basándose en los valores del Campo de unión de entrada y el Campo de unión de salida. Opcionalmente, solo los campos deseados se pueden seleccionar de la Tabla a unir y adjuntar a la Tabla de entrada durante la unión.
Ilustración
Uso
-
La Tabla de entrada puede ser una clase de entidad (incluyendo shapefile) o una tabla.
-
Se mantendrán todos los campos de la Tabla de entrada durante la unión. Opcionalmente, solo se agregarán a la salida campos seleccionados de la Tabla a unir. Esto se puede verificar en el parámetro Campos de unión.
-
Los registros de la Tabla a unir pueden coincidir con más de un registro de la Tabla de entrada. Para obtener más información sobre uniones de uno a uno, de muchos a uno, de uno a muchos y de muchos a muchos, vea Acerca de unir y relacionar tablas.
-
Si no hay campos seleccionados para el parámetro opcional Campos de unión, se unirán todos los campos de la Tabla a unir a la salida.
-
Las uniones pueden estar basadas en campos de tipo texto, fecha o número.
-
Las uniones basadas en campos de texto distinguen entre mayúsculas y minúsculas.
-
Los campos de formatos de número distinto se pueden unir siempre y cuando los valores sean iguales. Por ejemplo, un campo de tipo flotante se puede unir a un campo de entero corto.
-
El Campo de unión de entrada y el Campo de unión de salida pueden tener nombres distintos.
-
Si un campo de unión tiene el mismo nombre que un campo de la tabla de entrada, al campo unido se agregará _1 (o _2, o _3, etc.) para que sea único.
-
Si los valores en el Campo de unión de salida no son únicos, solo se utilizará la primera ocurrencia de cada valor.
- Para dar cuenta de los valores de la tabla a unir que no sean la primera ocurrencia, comience por ejecutar la herramienta Resumen de estadísticas utilizando la Tabla a unir como entrada. El Resumen de estadísticas le permite resumir campos (por ejemplo, suma, valor medio, mínimo).
- Para fusionar dos o más campos en la tabla a unir antes de la unión, primero exporte la tabla o clase de entidad utilizando la herramienta Tabla a tabla y haga la fusión utilizando el mapa de campo de la herramienta.
- Para dar cuenta de los valores de la tabla a unir que no sean la primera ocurrencia, comience por ejecutar la herramienta Resumen de estadísticas utilizando la Tabla a unir como entrada. El Resumen de estadísticas le permite resumir campos (por ejemplo, suma, valor medio, mínimo).
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_data |
Tabla o clase de entidad a la cual se unirá la tabla a unir. | Mosaic Layer; Mosaic Dataset; Raster Catalog Layer; Raster Layer; Table View |
in_field |
Campo de la tabla de entrada en el cual se basará la unión. | Field |
join_table |
Tabla que se unirá a la tabla de entrada. | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
join_field |
El campo en la tabla a unir que contiene los valores sobre los cuales se basará la unión. | Field |
fields [fields,...] (Opcional) |
Campos de la tabla a unir que se incluirán en la unión. | Field |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función JoinField en el modo inmediato.
import arcpy
from arcpy import env
env.workspace = "C:/data/data.gdb"
arcpy.JoinField_management("zion_park", "zonecode", "zion_zoning", "zonecode", ["land_use","land_cover"])
Esta secuencia de comandos Python independiente muestra la función JoinField utilizada para unir una tabla a una clase de entidad y solo incluye dos de los campos de la tabla en la unión.
# PermanentJoin.py
# Purpose: Join two fields from a table to a feature class
# Import system modules
import arcpy
from arcpy import env
# Set the current workspace
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)