Résumé
Dans ArcGIS Pro, la table attributaire peut contenir des valeurs uniques et communes. Parfois, seules les valeurs uniques sont autorisées dans une colonne pour s’assurer qu’il n’y a pas de valeur en double pour un champ particulier, comme les ID d’employé.
Dans cet article, une règle attributaire est utilisée pour renseigner le terme « Duplicate (Dupliquer) » lorsqu’un champ est renseigné avec la même valeur qu’un autre enregistrement. Cette méthode est utile pour s’assurer qu’aucun enregistrement en double n’est créé dans la table attributaire.
Procédure
Note:
The attribute rule to identify duplicate field values in the attribute table only works for a text field.
- Ouvrez le projet ArcGIS Pro.
- Dans la fenêtre Catalog (Catalogue) , recherchez la classe d’entités, cliquez dessus avec le bouton droit, puis sélectionnez Manage (Gérer).
- Dans la fenêtre Feature Class Properties (Propriétés de la classe d’entités), dans la section Manage (Gérer), cochez la case Global IDs (ID globaux) et cliquez sur OK.
Note:
The dataset requires Global IDs to add an attribute rule.
- Cliquez avec le bouton droit sur la couche d’entités dans la fenêtre Contents (Contenu) et sélectionnez Data Design (Conception de données) > Attribute Rules (Règles attributaires).
- Cliquez sur la flèche de la liste déroulante Add Rule (Ajouter une règle) et sélectionnez Add Immediate Calculation Rule (Ajouter une règle de calcul immédiat).
- Spécifiez Rule Name (Nom de la règle). Dans cet exemple, la règle de test est utilisée.
- Pour Field (Champ), sélectionnez le champ à utiliser. Dans cet exemple, EmployeeID est utilisé.
- Insérez et configurez l’expression ci-dessous dans la zone Expression.
var features = FeatureSetByName($datastore,'<feature_class>', ['<field_name>'], false);
for(var i in features)
if((i.<field_name> == $feature.<field_name>) && (i.OBJECTID != $feature.OBJECTID)) {
return "Duplicate";}
return $feature.<field_name>;
- Remplacez <feature_class> par le nom de la classe d’entités contenant le champ afin de rechercher des valeurs en double. Dans cet exemple, Workforce est utilisé.
- Remplacez <field_name> par le nom du champ dans la table attributaire afin de rechercher des valeurs en double. Dans cet exemple, EmployeeID est utilisé.
- Sous Triggers (Déclencheurs), cochez l’option souhaitée. Dans cet exemple, les options Insert (Insérer) et Update (Mettre à jour) sont cochées.
- Dans l’onglet Attribute Rules (Règles attributaires), dans le groupe Attribute Rules (Règles attributaires), cliquez sur Save (Enregistrer).
L’image ci-dessous montre que le terme Duplicate (Dupliquer) est renseigné lorsqu’un enregistrement avec l’ID d’employé en double est créé dans la table attributaire.