Skip To Content

Calculer un champ

L’outil Calculer un champ calcule les valeurs d’un champ nouveau ou existant. Vous pouvez utiliser les fonctions Arcade pour définir l’expression de calcul.

Exemples

Il est possible d’utiliser l’outil Calculer un champ dans les types de scénarios suivants :

  • Remplacez les valeurs vides par une valeur par défaut.
  • Convertissez une colonne de chaînes contenant des noms tout en majuscules en casse réservée aux titres (majuscules initiales à tous les mots) à l’aide de la fonction Arcade Proper. Par exemple, JANE SMITH devient Jane Smith.
  • Utilisez les fonctions mathématiques Arcade pour arrondir les valeurs d’une colonne numérique à un certain nombre de décimales.
  • Conservez les zéros de remplissage d’une valeur de code postal en convertissant le champ d’entier en un nouveau champ de type chaîne. Par exemple, 1 devient 00001.
  • Fractionnez une chaîne de codes postaux non séparés à l’aide de virgules. Par exemple, 0051500234 devient 00515,00234.

Paramètres

Le tableau suivant décrit les paramètres utilisés dans l’outil Calculer un champ :

ParamètreDescription

Jeu de données en entrée

Jeu de données dont un champ sera calculé.

Champ à calculer

Indique si les valeurs calculées remplacent un champ existant (Existing field (Champ existant)) ou créent un nouveau champ (New field (Nouveau champ)).

Nouveau nom de champ

Nom du nouveau champ. Ce paramètre est obligatoire si la valeur Field to calculate (Champ à calculer) est définie sur New field (Nouveau champ).

Nouveau type de champ

Type du nouveau champ. Ce paramètre est obligatoire si la valeur Field to calculate (Champ à calculer) est définie sur New field (Nouveau champ).

Nom du champ existant

Nom du champ existant à remplacer par les valeurs calculées. Ce paramètre est obligatoire utilisé si la valeur Field to calculate (Champ à calculer) est définie sur Existing field (Champ existant).

Expression Arcade

Expression Arcade utilisée pour le calcul des nouvelles valeurs.

Remarques sur l’utilisation

Utilisez le paramètre Field to calculate (Champ à calculer) pour indiquer si les valeurs seront calculées pour un nouveau champ ou un champ existant.

Si vous calculez les valeurs pour un nouveau champ, indiquez le nom du nouveau champ et un nouveau type de champ à l’aide des paramètres New field name (Nouveau nom de champ) et New field type (Nouveau type de champ). Les options de type de champ disponibles sont les suivantes :

  • Date : calcule un nouveau champ de type date. Les champs de date prennent en charge les valeurs d’heure et de date.
  • Double : calcule un nouveau type de champ double. Les champs de type double prennent en charge les nombres fractionnels approximativement compris entre -2.2E308 et 1.8E308.
  • Integer (Entier) : calcule un nouveau champ de type d’entier. Les champs de type entier prennent en charge les nombres entiers compris entre -2147483648 et 2147483647.
  • String (Chaîne) : calcule un nouveau type de champ de chaîne. Les champs de chaîne prennent en charge les chaîne de caractères (texte).

Pour calculer les valeurs d’un champ existant, choisissez le champ à partir du jeu de données en entrée. Le champ est alors renvoyé avec les mêmes nom et type et comporte les nouvelles valeurs calculées.

Pour les nouveaux champs et les champs existants, indiquez une expression Arcade pour calculer les nouvelles valeurs. Dans la boîte de dialogue de l’expression Arcade, accédez aux champs du jeu de données en entrée à partir de la liste Profile variables (Variables de profil) ou fournissez une valeur telle que $record.field_name dans laquelle field_name désigne le nom du champ. Si le champ inclut des caractères spéciaux, il peut être nécessaire d’utiliser un autre format pour faire référence à ce champ. Par exemple, il est impossible de faire référence à un champ nommé %Employed sous la forme de $record.%Employed, cette syntaxe n’étant pas valide. Vous devez préférer la syntaxe $record["%Employed"]. Utilisez la liste Functions (Fonctions) pour accéder aux fonctions qui permettent de générer l’expression.

Pour en savoir plus sur Arcade, reportez-vous à la rubrique ArcGIS Arcade. Pour commencer à utiliser Arcade, vous pouvez vous exercer à générer des expressions à l’aide de Arcade Playground.

Le tableau suivant décrit les expressions Arcade couramment utilisées dans l’outil Calculer un champ :

Opérations courantesDescriptionExempleInformations supplémentaires

Copier le champ

Copier les valeurs du champ source dans le champ cible.

Copier les valeurs de my_origin_field dans un nouveau champ.

return $record.my_origin_field

Définir la valeur par défaut

Définir une valeur par défaut pour un champ.

Remplacer les valeurs nulles dans my_field_name par la chaîne my default value.

if ($record.my_field_name == null) {
    return "my default value"
} else {
    return $record.my_field_name
}

Changer de casse

Changer la casse de la chaîne source.

Convertir les valeurs dans my_field_name en majuscules ou en minuscules.

// To convert a string to lowercase:
return Lower($record.my_field_name)

// To convert a string to uppercase:
return Upper($record.my_field_name)

Lower

Upper

Combiner les valeurs

Concaténer les valeurs source en une chaîne.

Combiner field_1 et field_2 pour créer un champ. Séparer les valeurs par une virgule.

var values_to_combine = [
    $record.field_1, 
    $record.field_2
]
var separator = ", "
return Concatenate(values_to_combine, separator)

Concaténer

Gauche

Extraire un certain nombre de caractères à partir du début d’une chaîne.

Renvoyer les trois premiers caractères de chaque valeur dans my_string_field.

Left($record.my_string_field, 3)

Gauche

Droite

Extraire un certain nombre de caractères à partir de la fin d’une chaîne.

Renvoyer les trois derniers caractères de chaque valeur dans my_string_field.

Right($record.my_string_field, 3)

Droite

Sous-chaîne

Extraire un certain nombre de caractères à partir du milieu d’une chaîne.

Renvoyer cinq caractères de my_string_field en commençant par le caractère n°2.

Mid($record.my_string_field, 2, 5)

Mid

Fractionner

Fractionner une chaîne en plusieurs parties pour renvoyer l’une d’elles.

Fractionner un champ de chaîne dans un tableau selon le séparateur `. Renvoyer la première partie.

var parts = Split($record.my_string_field, ',')
return parts[0] // Return the first part

Fractionner

Valeur conditionnelle

Renvoyer différentes valeurs selon une instruction if-else.

Si la valeur de my_field_name est égale à 1 pour un enregistrement donné, true est renvoyé, else renvoie false.

if($record.my_field_name == 1) {
    return true
} else {
    return false
}

Rechercher et remplacer

Remplacer toutes les instances d’une valeur par une valeur différente.

Remplacer les instances de search_value dans my_field_name par new_value.

var search_value = "my old string"
var new_value = "my new string"
if($record.my_field_name == search_value){
    return new_value
} else {
    return $record.my_field_name
}

Remplacer

Accéder aux valeurs imbriquées

Renvoyer une valeur imbriquée depuis un champ struct.

Renvoyer la valeur de la clé myKey dans un champ struct nommé my_struct_field.

var nested_value = $record.my_struct_field.myKey
return nested_value

Vérifier l’existence d’une clé

Renvoyer true (vrai) ou false (faux) en fonction de la présence de la clé spécifiée.

Renvoyer true si la clé myKey existe dans un champ struct nommé struct_field, renvoyer false si la clé n’existe pas.

return HasValue($record.struct_field, 'myKey')

HasValue

Obtenir les valeurs d’une clé ou définir une valeur par défaut si la valeur de la clé n’existe pas.

Renvoyer les valeurs de la clé spécifiée ou une valeur par défaut si la clé n’existe pas.

Renvoyer la valeur de la clé si la clé myKey existe dans un champ struct nommé struct_field, renvoyer une valeur par défaut de MyDefault si la clé n’existe pas.

return DefaultValue($record.struct_field, 
                                  ['myKey'],
                                  'MyDefault')

Sorties

La sortie de l’outil est un jeu de données avec tous les champs du jeu de données en entrée en plus des valeurs de champ qui viennent d’être calculées.

Limitations

Les limitations connues suivantes s’appliquent à l’outil Calculer un champ :

  • Un seul champ peut être calculé par exécution de l’outil.
  • Le type d’un champ existant ne peut pas être modifié. Utilisez l’outil Mettre à jour des champs pour mettre à jour un champ existant en lui attribuant un nouveau type.
  • Les calculs géométriques ne sont pas pris en charge. Utilisez l’outil Créer une géométrie à la place.

Licences requises

Les licences et configurations suivantes sont requises :

  • Type d’utilisateur Creator ou GIS Professional
  • Rôle d’éditeur, de facilitateur ou d’administrateur, ou rôle personnalisé équivalent

Afin d’en savoir plus sur la configuration requise pour Data Pipelines, reportez-vous à la rubrique Conditions requises.