Effectuer des calculs de champs

Les calculs de champs permettent de définir les valeurs d’un champ à l’aide d’une expression. Les expressions peuvent être simples ou complexes, allant de valeurs uniques à des calculs mathématiques et des scripts multilignes. Les calculs de champs permettent de mettre à jour plusieurs enregistrements d’une table en même temps. Ils respectent les sélections, mises en évidence ou filtres des tables attributaires de couche et des tables autonomes.

Deux façons d’accéder aux calculs de champs

Vous pouvez effectuer des calculs de champs directement dans une vue tabulaire à partir de la barre d’outils Calculate Field (Calculer un champ) ou vous pouvez utiliser l’outil de géotraitement Calculer un champ.

Dans la vue tabulaire, cliquez sur le bouton Calculate (Calculer) de la barre d’outils pour ouvrir la barre d’outils Calculate Field (Calculer un champ).

Barre d’outils Calculer un champ dans une vue de table attributaire

Après avoir ouvert une table modifiable, dans l’onglet Table du ruban, dans le groupe Tools (Outils), cliquez sur Calculate Field Toolbar (Barre d’outils Calculer un champ) pour ouvrir la barre d’outils dans la vue tabulaire, ou cliquez sur Calculate Field (Calculer un champ) pour ouvrir l’outil de géotraitement Calculer un champ.

Remarque :

Dans les situations suivantes, ces commandes ne sont pas disponibles :

  • Le champ est géré par ArcGIS Pro et ne peut donc pas être mis à jour manuellement. Vous ne pouvez pas calculer les valeurs du champ ObjectID (OID ou FID) ou des champs Shape_Length et Shape_Area pour une classe d’entités de géodatabase.
  • La source de données de la table est en lecture seule, l’accès en écriture ne peut pas être établi sur le dossier ou la géodatabase, ou le format de la source de données ne peut normalement pas être modifié.
  • Le champ appartient à une table qui a été jointe à votre table. Vous pouvez calculer les valeurs des champs de la table d’origine.
  • Le champ est de type raster, BLOB ou ID global, qui ne peut pas être calculé.
  • La mise à jour du jeu de données est désactivée.

Effectuer des calculs de champs

Avec une table ouverte, vous pouvez utiliser la barre d’outils Calculate Field (Calculer un champ) ou l’outil de géotraitement Calculer un champ pour effectuer des calculs de champs.

Utiliser la barre d’outils Calculer un champ

Procédez comme suit pour effectuer des calculs à l’aide de la barre d’outils Calculate Field (Calculer un champ) :

  1. Dans la barre d’outils, utilisez le menu déroulant Target Field (Champ cible) pour sélectionner un champ de la table à mettre à jour avec un calcul.
  2. Dans la zone de texte Expression, saisissez une expression valide ou ajoutez des champs à l’expression à l’aide du bouton Add fields to expression (Ajouter des champs à une expression) .
  3. Dans le menu déroulant Language (Langage), sélectionnezPython, ArcGIS Arcade ou SQL comme langage pour l’expression.
  4. Vous pouvez cliquer sur le bouton Recent Expression (Expression récente) pour insérer une expression dans la zone de texte Expression.
  5. Vous pouvez aussi cliquer sur le bouton Expression Builder (Générateur d’expressions) pour ouvrir une boîte de dialogue avec une liste de champs et de fonctions d’assistance pour créer des expressions plus complexes. Après avoir construit une expression, cliquez sur OK pour la réinsérer dans la zone de texte Expression.
  6. Cliquez sur le bouton Calculate (Calculer) pour exécuter l’outil Calculer un champ.

    Vous pouvez également appuyer sur Ctrl+Maj+Entrée pour exécuter l’outil.

    Ouvrez le menu déroulant du bouton Calculate (Calculer) pour désactiver Enable Undo (Activer l’annulation).

    Les sélections, mises en évidence et filtres de table sont indiqués sur le bouton Calculate (Calculer) . Vous pouvez également cliquer sur Calculate All (Calculer tout) dans le menu déroulant pour exécuter l’outil Calculer un champ en utilisant tous les enregistrements sans perdre votre sélection, mise en évidence ou filtre.

    Les calculs exécutés dans la barre d’outils sont exécutés en tant qu’outil de géotraitement et sont sauvegardés dans l’historique de géotraitement du projet.

  7. Si l’option Enable Undo (Activer l’annulation) est activée lorsque vous cliquez sur Calculate (Calculer) , vous devez enregistrer ou supprimer vos modifications à l’aide des options de l’onglet Edit (Mise à jour). Dans la barre d’outils Quick Access (Accès rapide), vous pouvez annuler et réexécuter votre calcul.

Utiliser l’outil Calculer un champ

Procédez comme suit pour effectuer un calcul à l’aide de l’outil de géotraitement Calculer un champ :

  1. Dans l’outil Calculate Field (Calculer un champ), spécifiez le champ à mettre à jour dans le paramètre Field Name (Existing or New) (Nom du champ [Nouveau ou existant]).

    Si le nom de champ spécifié n’existe pas dans la table en entrée, il est ajouté.

    1. Si un nouveau nom de champ est spécifié, utilisez le paramètre Field Type (Type de champ) pour spécifier le type du nouveau champ.
  2. Utilisez le paramètre Expression Type (Type d’expression) utilisé pour spécifier l’expression, qui peut inclure Python, ArcGIS Arcade, SQL ou VBScript (obsolète).
  3. Dans le paramètre Expression, entrez une expression ou utilisez la commande Expression pour en créer une.

    Les calculs Python ou VBScript prennent en charge un paramètre Code Block (Bloc de code), qui exécute le code spécifié avant que les calculs ne soient effectués sur les champs sélectionnés.

  4. Cliquez sur OK pour exécuter l’outil Calculate Field (Calculer un champ) et fermer la boîte de dialogue de l’outil. Vous pouvez également cliquer sur Apply (Appliquer) pour exécuter l’outil Calculer un champ et laisser la boîte de dialogue ouverte.

Conseils d’utilisation

Si vous effectuez des calculs, voici quelques recommandations à prendre en compte :

  • Utilisez des guillemets pour calculer des chaînes en langage Python et des guillemets simples pour calculer les chaînes SQL.
  • Les champs dont la visibilité est désactivée pour la couche ou la table ne sont pas disponibles pour le calcul de champ. La visibilité des champs est définie dans la vue Champs d’une couche.
  • En savoir plus sur le calcul d’expressions en Python, ArcGIS Arcade, SQL et VBScript.

Rubriques connexes