Campo de unión (Administración de datos)

Resumen

Une permanentemente 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.

Uso

  • Los registros del valor de Tabla de entrada se hacen coincidir con los registros del valor de Tabla de unión en función de los valores de los parámetros Campo de unión de entrada y Campo de tabla de unión. También puede seleccionar campos específicos del valor de Tabla de unión que se va a anexar al valor de Tabla de entrada durnate la unión.

  • El valor de Tabla de entrada puede ser una clase de entidad (incluido un shapefile) o una tabla.

  • Todos los campos del valor de Tabla de entrada se mantendrán durante la unión. También puede seleccionar campos específicos del valor de Tabla de unión para agregarlos a la salida. Utilice el parámetro Transferir campos para agregar estos campos.

  • Los registros del valor de Tabla de unión pueden coincidir con más de un registro del valor de Tabla de entrada.

  • Si no hay campos seleccionados para el parámetro opcional Campos de transferencia, se unirán todos los campos del valor de Tabla de unión a la salida. Para modificar los nombres, alias o propiedades de los campos, establezca el parámetro Método de transferencia en Utilizar asignación de campos.

  • 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.

  • Cuando se une a una tabla de entrada, los campos de la tabla de unión con un tipo de ID global o un tipo de ID de objeto no se transferirán.

    El valor de Campo de unión de entrada y el valor de Campo de tabla de unión pueden tener distintos nombres de campo.

  • Si un campo de unión tiene el mismo nombre que un campo de la tabla de entrada, el campo unido se incorporará con _1 (o _2, _3, etc.) para que sea único.

  • Si se especifica la opción Seleccionar campos de transferencia para el parámetro Método de transferencia y los valores de campo del parámetro Campo de tabla de unión no son únicos, solo se utilizará la primera ocurrencia de cada valor. Para tener en cuenta valores distintos de la primera ocurrencia (una unión de uno a muchos), establezca el parámetro Método de transferencia en Utilizar asignación de campos. Para realizar una unión de uno a muchos, el valor del parámetro Tabla de entrada debe tener un campo ID de objeto y debe estar en el mismo espacio de trabajo que el valor del parámetro Tabla de unión.

  • Use el parámetro Mapa de campo para gestionar los campos y su contenido en el dataset de salida.

    • Añada y elimine campos de la lista de campos, reordene la lista de campos y cambie el nombre de los campos.
    • El tipo de datos predeterminado de un campo de salida es el mismo que el tipo de datos del primer campo de entrada (de ese nombre) que encuentra. Puede cambiar el tipo de datos a otro tipo de datos válido.
    • Use una acción para determinar cómo los valores de uno o varios campos de entrada se mezclarán en un solo campo de salida. Las acciones disponibles son Primera, Última, Concatenación, Suma, Valor medio, Mediana, Modo, Mínimo, Máximo, Desviación estándar y Recuento.
    • Al usar la acción Concatenar, pude especificar un delimitador tal como una coma u otro carácter. Haga clic en el inicio del cuadro de texto Delimitador para añadir los caracteres delimitadores.
    • Desviación estándar no es una opción válida para los valores de entrada únicos.
    • Use el botón Trocear texto en los campos de origen de texto para seleccionar qué caracteres de un valor de entrada se extraerán al campo de salida. Para acceder al botón Trocear texto, pase el cursor del ratón por encima de un campo de texto de la lista de campos de entrada; a continuación, especifique las posiciones de los caracteres de inicio y fin.
    • Los campos también se pueden asignar mediante scripts de Python.

  • Si el parámetro Mapa de campo se especifica con la regla Unir y fusionar, no es posible garantizar que el orden de los valores unidos vaya a ser el mismo que el de las filas del parámetro Campo de tabla de unión si los valores no son únicos. Por ejemplo, si se unen tres entidades con los valores ratón, gato y perro para el atributo ANIMAL, el resultado no mostrará será necesariamente el orden ratón, gato y perro.

  • La herramienta Validar unión se puede utilizar para validar una unión entre dos capas o tablas con el fin de determinar si las capas o tablas tienen nombres de campo y campos ObjectID válidos, si la unión produce registros coincidentes, si la unión es una unión de uno a uno o de uno a muchos y otras propiedades de la unión.

    El cuadro de diálogo de la herramienta contiene un botón para validar la unión que facilita esta operación.

  • Indexar el campo de entrada y el campo de unión puede mejorar el rendimiento. Utilice el parámetro Campos de unión de índice para agregar o reemplazar índices.

  • Si los resultados de la unión son inesperados o incompletos, revise si el campo de entrada y el campo de unión están indexados. Si los campos no están indexados, intente agregar un índice. Si los campos ya están indexados, intente borrar y volver a agregar el índice para corregir cualquier problema con el índice. Utilice el parámetro Campos de unión de índice para administrar índices al ejecutar la herramienta.

Parámetros

EtiquetaExplicaciónTipo de datos
Tabla de entrada

Tabla o clase de entidad a la cual se unirá la tabla a unir.

Mosaic Layer; Raster Layer; Table View
Campo de entrada

Campo de la tabla de entrada en el cual se basará la unión.

Field
Tabla de unión

Tabla que se unirá a la tabla de entrada.

Mosaic Layer; Raster Layer; Table View
Campo de unión

El campo en la tabla a unir que contiene los valores sobre los cuales se basará la unión.

Field
Transferir campos
(Opcional)

Campos de la tabla a unir que se transferirán a la tabla de entrada basándose en una unión entre la tabla de entrada y la tabla a unir.

Field
Método de transferencia
(Opcional)

Especifica cómo se transferirán a la salida los campos de unión y los tipos de campo.

  • Seleccionar campos de transferenciaLos campos y tipos de campo de la tabla unida se transferirán a la salida. Esta es la opción predeterminada.
  • Utilizar asignación de camposLa transferencia de campos y tipos de campos de la tabla unida a la salida se controlará mediante el parámetro Mapa de campos.
String
Mapa de campo
(Opcional)

Los campos que se unirán a la tabla de entrada con sus respectivas propiedades y campos de origen. Todos los campos de la tabla de unión se incluirán de manera predeterminada.

Use el campo de mapa para añadir, borrar, cambiar el nombre y reordenar los campos, así como para cambiar otras propiedades de los campos.

El mapa de campo puede usarse para combinar valores de dos o más campos de entrada en un solo campo de salida.

Field Mappings
Campos de unión de índice
(Opcional)

Especifica si se agregarán o sustituirán índices de atributos para el campo de entrada y el campo de unión.

  • No agregar índicesLos índices de atributos no se agregarán. Esta es la opción predeterminada.
  • Agregar un índice de atributo para los campos que no tienen ningún índiceSe agregará un índice de atributos para cualquier campo que no tenga ningún índice. Se conservarán los índices de atributos existentes.
  • Reemplazar índices para todos los camposSe agregará un índice de atributos para cualquier campo que no tenga ningún índice. Se reemplazarán los índices de atributos existentes.
String

Salida derivada

EtiquetaExplicaciónTipo de datos
Tabla de entrada actualizada

El dataset de entrada actualizado.

Table View; Raster Layer; Mosaic Layer

arcpy.management.JoinField(in_data, in_field, join_table, join_field, {fields}, {fm_option}, {field_mapping}, {index_join_fields})
NombreExplicaciónTipo de datos
in_data

Tabla o clase de entidad a la cual se unirá la tabla a unir.

Mosaic 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 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 transferirán a la tabla de entrada basándose en una unión entre la tabla de entrada y la tabla a unir.

Field
fm_option
(Opcional)

Especifica cómo se transferirán a la salida los campos de unión y los tipos de campo.

  • NOT_USE_FMLos campos y tipos de campo de la tabla unida se transferirán a la salida. Esta es la opción predeterminada.
  • USE_FMLa transferencia de campos y tipos de campos de la tabla unida a la salida se controlará mediante el parámetro field_mapping.
String
field_mapping
(Opcional)

Los campos que se unirán a la tabla de entrada con sus respectivas propiedades y campos de origen. Todos los campos de la tabla de unión se incluirán de manera predeterminada.

Use el campo de mapa para añadir, borrar, cambiar el nombre y reordenar los campos, así como para cambiar otras propiedades de los campos.

El mapa de campo puede usarse para combinar valores de dos o más campos de entrada en un solo campo de salida.

En Python, utilice la clase de FieldMappings para definir este parámetro.

Field Mappings
index_join_fields
(Opcional)

Especifica si se agregarán o sustituirán índices de atributos para el campo de entrada y el campo de unión.

  • NO_INDEXESLos índices de atributos no se agregarán. Esta es la opción predeterminada.
  • NEW_INDEXESSe agregará un índice de atributos para cualquier campo que no tenga ningún índice. Se conservarán los índices de atributos existentes.
  • REPLACE_INDEXESSe agregará un índice de atributos para cualquier campo que no tenga ningún índice. Se reemplazarán los índices de atributos existentes.
String

Salida derivada

NombreExplicaciónTipo de datos
out_layer_or_view

El dataset de entrada actualizado.

Table View; Raster Layer; Mosaic Layer

Muestra de código

Ejemplo 1 de JoinField (ventana de Python)

El siguiente script de la ventana de Python demuestra cómo utilizar la función JoinField en el modo intermedio.

import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.management.JoinField("zion_park", "zonecode", "zion_zoning", "zonecode", 
                           ["land_use", "land_cover"])
Ejemplo 2 de JoinField (secuencia de comandos independiente)

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

# 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.management.JoinField(inFeatures, joinField, joinTable, joinField, 
                           fieldList)