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. Opcionalmente, puede seleccionar campos concretos del valor de Tabla de unión para incorporarlos al valor de Tabla de entrada durante 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. Opcionalmente, puede seleccionar campos concretos 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 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.

  • Para administrar los campos del dataset de salida y el contenido de esos campos, utilice el parámetro Mapa de campo.

    • Para cambiar el orden de campos, seleccione un nombre de campo y arrástrelo a la nueva posición.
    • 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. El tipo de datos se puede cambiar por cualquier otro tipo de datos válido de forma manual en cualquier momento.
    • Están disponibles las siguientes reglas de fusión: primero, último, unir, suma, valor medio, mediana, modo, mínimo, máximo, desviación estándar y recuento.
    • Cuando utiliza la regla de fusión Unir, puede especificar un delimitador como un espacio, una coma, un punto, un guion, etc. Para utilizar un espacio, asegúrese de que el puntero del ratón esté al comienzo del cuadro de entrada y pulse la barra espaciadora una vez.
    • Puede especificar las posiciones inicial y final de los campos de texto usando la opción de formato.
    • No realice la desviación estándar en una sola entrada, ya que los valores no se pueden dividir por cero, por lo que esta no es una opción válida para las entradas individuales.

    Más información sobre la asignación de campos en scripts

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

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 unión 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 Tabla a unir

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 de atributo que estarán en la salida con las propiedades de campo y los campos de origen correspondientes. De forma predeterminada se incluirán todos los campos de las entradas.

Se puede añadir, eliminar y reordenar los campos, además de cambiar su nombre y sus propiedades.

Las reglas de fusión le permiten especificar cómo los valores de dos o más campos de entrada se fusionarán o se combinarán en un único valor de salida. Las siguientes reglas de combinación se pueden usar para determinar cómo se rellenará con valores el campo de salida:

  • Primero: utilizar el primer valor de los campos de entrada.
  • Último: utilizar el último valor de los campos de entrada.
  • Unir: concatenar (unir) los valores de los campos de entrada.
  • Sumar: calcular el total de los valores de los campos de entrada.
  • Valor medio: calcular el valor medio (promedio) de los valores de los campos de entrada.
  • Mediana: calcular el valor de la mediana (mitad) de los valores de los campos de entrada.
  • Modo: utilizar el valor con la mayor frecuencia.
  • Mín.: usar el valor mínimo de todos los valores de los campos de entrada.
  • Máx.: usar el valor máximo de todos los valores de los campos de entrada.
  • Desviación estándar: utilizar el método de clasificación de la desviación estándar en todos los valores de campos de entrada.
  • Conteo: buscar la cantidad de registros incluidos en los cálculos.

Field Mappings

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})
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 de atributo que estarán en la salida con las propiedades de campo y los campos de origen correspondientes. De forma predeterminada se incluirán todos los campos de las entradas.

Se puede añadir, eliminar y reordenar los campos, además de cambiar su nombre y sus propiedades.

Las reglas de fusión le permiten especificar cómo los valores de dos o más campos de entrada se fusionarán o se combinarán en un único valor de salida. Las siguientes reglas de combinación se pueden usar para determinar cómo se rellenará con valores el campo de salida:

  • Primero: utilizar el primer valor de los campos de entrada.
  • Último: utilizar el último valor de los campos de entrada.
  • Unir: concatenar (unir) los valores de los campos de entrada.
  • Sumar: calcular el total de los valores de los campos de entrada.
  • Valor medio: calcular el valor medio (promedio) de los valores de los campos de entrada.
  • Mediana: calcular el valor de la mediana (mitad) de los valores de los campos de entrada.
  • Modo: utilizar el valor con la mayor frecuencia.
  • Mín.: usar el valor mínimo de todos los valores de los campos de entrada.
  • Máx.: usar el valor máximo de todos los valores de los campos de entrada.
  • Desviación estándar: utilizar el método de clasificación de la desviación estándar en todos los valores de campos de entrada.
  • Conteo: buscar la cantidad de registros incluidos en los cálculos.

En Python, puede utilizar la clase FieldMappings para definir este parámetro.

Field Mappings

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

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