Champ de jointure (Gestion des données)

Résumé

Joint le contenu d'une table à une autre table en fonction d'un champ attributaire commun. La table en entrée est mise à jour pour contenir les champs de la table de jointure. Vous pouvez sélectionner quels champs de la table de jointure seront ajoutés à la table en entrée.

Les enregistrements de la table en entrée sont appariés aux enregistrements de la table de jointure en fonction des valeurs du champ de jointure en entrée et du champ de table de jointure. Il est également possible de sélectionner des champs spécifiques dans la table de jointure et de les attacher à la table en entrée pendant la jointure.

Utilisation

  • La Table en entrée peut être une classe d'entités (incluant un fichier de formes) ou une table.

  • Tous les champs de la Table en entrée seront gardés pendant la jointure. Si vous le souhaitez, vous pouvez sélectionner des champs spécifiques dans la table de jointure pour les ajouter à la sortie. Ceux-ci peuvent être sélectionnés sous le paramètre Transfer Fields (Transférer des champs).

  • Les enregistrements de la Table de jointure peuvent être appariés à un ou plusieurs enregistrements de la Table en entrée.

  • Si aucun champ n’est sélectionné pour le paramètre facultatif Transfer Fields (Transférer des champs), tous les champs de la table de jointure ajoutés à la sortie seront joints.

  • Les jointures peuvent être basées sur des champs de type texte, date ou nombre.

  • Les jointures basées sur des champs de texte respectent la casse.

  • Les champs de formats de nombre différent peuvent être joints tant que les valeurs sont égales. Par exemple, un champ de type réel simple peut être joint à un champ de nombre entier court.

  • Le champ de jointure en entrée et le champ de table de jointure peuvent porter des noms différents.

  • Si un champ de jointure porte le même nom qu'un champ de la table en entrée, il est ajouté au champ joint le suffixe _1 (ou _2, ou _3, etc.) pour le rendre unique.

  • Si les valeurs du champ de table de jointure ne sont pas uniques, seule la première occurrence de chaque valeur est utilisée.

    • Pour prendre en compte les valeurs de table de jointure autres que la première occurrence, commencez par exécuter l'outil Résumés statistiques en utilisant la Table de jointure comme en entrée. Summary Statistics (Résumés statistiques) vous permet de récapituler les champs (par exemple, addition, moyenne, minimum).
    • Pour fusionner deux champs ou plus dans la table de jointure avant la jointure, commencez par exporter la table ou la classe d’entités à l’aide de l’outil Table vers table. Ensuite, fusionnez-les à l’aide de l’appariement de champs de l’outil.
  • L’outil Valider une jointure peut être utilisé pour valider une jointure entre deux couches ou tables afin de déterminer si celles-ci ont des noms de champ et des champs d’ID d’objet valides, si la jointure produit des enregistrements correspondants, s’il s’agit d’une jointure un vers un ou un vers plusieurs, ainsi que d’autres propriétés de la jointure.

    Pour faciliter l’utilisation de l’outil, la boîte de dialogue associée contient un bouton permettant de valider la jointure.

Paramètres

ÉtiquetteExplicationType de données
Table en entrée

Table ou classe d'entités à laquelle la table de jointure sera jointe.

Mosaic Layer; Raster Layer; Table View
Champ de jointure en entrée

Champ de la table en entrée sur lequel la jointure sera basée.

Field
Table de jointure

Table à joindre à la table en entrée.

Mosaic Layer; Raster Layer; Table View
Champ Table de jointure

Champ dans la table de jointure qui contient les valeurs sur lesquelles sera basée la jointure.

Field
Transférer des champs
(Facultatif)

Champs de la table de jointure à transférer vers la table en entrée, selon une jointure entre la table en entrée et la table de jointure.

Field

Sortie dérivée

ÉtiquetteExplicationType de données
Table en entrée actualisée

Jeu de données en entrée mis à jour.

Vue tabulaire, couche raster, couche de mosaïque

arcpy.management.JoinField(in_data, in_field, join_table, join_field, {fields})
NomExplicationType de données
in_data

Table ou classe d'entités à laquelle la table de jointure sera jointe.

Mosaic Layer; Raster Layer; Table View
in_field

Champ de la table en entrée sur lequel la jointure sera basée.

Field
join_table

Table à joindre à la table en entrée.

Mosaic Layer; Raster Layer; Table View
join_field

Champ dans la table de jointure qui contient les valeurs sur lesquelles sera basée la jointure.

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

Champs de la table de jointure à transférer vers la table en entrée, selon une jointure entre la table en entrée et la table de jointure.

Field

Sortie dérivée

NomExplicationType de données
out_layer_or_view

Jeu de données en entrée mis à jour.

Vue tabulaire, couche raster, couche de mosaïque

Exemple de code

Exemple 1 d'utilisation de l'outil JoinField (fenêtre Python)

Le script de fenêtre Python ci-dessous illustre l'utilisation de la fonction JoinField en mode immédiat.

import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.JoinField_management("zion_park", "zonecode", "zion_zoning", "zonecode", 
                           ["land_use", "land_cover"])
Exemple 2 d'utilisation de l'outil JoinField (script autonome)

Ce script Python autonome illustre l'utilisation de la fonction JoinField pour joindre une table à une classe d'entités en n'incluant que deux des champs de la table dans la jointure.

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

Informations de licence

  • Basic: Nécessite O
  • Standard: Nécessite O
  • Advanced: Nécessite O

Rubriques connexes