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 basándose en 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.

  • Se mantendrán todos los campos del valor de Tabla de entrada 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 a la salida todos los campos del valor de Tabla de unión. Para modificar los nombres de campo, alias o propiedades, defina el parámetro Método de transferencia como Utilizar la 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 unen 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.

    Los valores de Campo de unión de entrada y Campo de tabla de unión pueden tener nombres de campo distintos.

  • 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 los valores de los parámetros Tabla de entrada y Tabla de unión tienen el mismo nombre, al hacer clic en el botón Validar unión se producirá un error. Esta es una limitación conocida. Sin embargo, la herramienta se ejecutará correctamente cuando haga clic en el botón Ejecutar.

  • Si se especifica la opción Seleccionar campos de transferencia para el parámetro Método de transferencia y los valores de campo en el valor 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), defina el parámetro Método de transferencia como Utilizar la 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 de 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 coincide con el tipo de datos del primer campo de entrada (de ese nombre) que encuentre. 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 de fusión Unión, no hay forma de garantizar que el orden de los valores unidos sea coherente con el orden de fila 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 de atributo ANIMAL de ratón, gato y perro, el resultado no necesariamente tendrá el orden de 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

La tabla que se unirá a la tabla de entrada.

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

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

Field
Transferir campos
(Opcional)

Los campos de la tabla de unión que se transferirán a la tabla de entrada en función de una unión entre la tabla de entrada y la tabla de unión.

Field
Método de transferencia
(Opcional)

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

  • Seleccionar campos de transferenciaLos campos y los tipos de campo de la tabla unida se transferirán a la salida. Esta es la opción predeterminada.
  • Utilizar la asignación de camposLa transferencia de campos y tipos de campo de la tabla unida a la salida se controlará mediante el parámetro Mapa de campo.
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

La tabla que se unirá a la tabla de entrada.

Mosaic Layer; Raster Layer; Table View
join_field

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

Field
fields
[fields,...]
(Opcional)

Los campos de la tabla de unión que se transferirán a la tabla de entrada en función de una unión entre la tabla de entrada y la tabla de unión.

Field
fm_option
(Opcional)

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

  • NOT_USE_FMLos campos y los 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 campo 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)

La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la función JoinField de modo inmediato.

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 (script 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)

Temas relacionados