UpdateIf |
Mise à jour si |
| Power Fx |
Syntaxe
|
UpdateIf(DataSource_, Condition1, ChangeRecord1 [, Condition2, ChangeRecord2, ... ] )
|
Paramètres
| Nom |
Description |
| DataSource_ |
Ce paramètre permet d'indiquer la source de données où les enregistrements doivent être mis à jour. |
| Condition1 |
Ce paramètre permet de spécifier la condition à satisfaire pour que les enregistrements soient mis à jour. |
| ChangeRecord1 |
Ce paramètre contient les modifications à appliquer aux enregistrements qui satisfont la condition (Condition1). |
| Condition2 |
Ce paramètre permet de spécifier une condition supplémentaire (facultative) à satisfaire pour mettre à jour d'autres enregistrements. |
| ChangeRecord2 |
Ce paramètre contient les modifications à appliquer aux enregistrements qui satisfont la condition supplémentaire (Condition2). |
Description
Cette fonction permet de modifier des enregistrements dans une source de données en fonction d'une condition.
Remarques
- La fonction UpdateIf est idéale pour les mises à jour conditionnelles ciblées, car elle permet de modifier uniquement les enregistrements répondant à des
critères précis. Cela évite de parcourir ou de traiter toute la source de données inutilement, ce qui est particulièrement utile pour améliorer les performances dans
les applications qui manipulent de grands volumes de données.
- Grâce à la possibilité d'utiliser plusieurs paires condition/modification, UpdateIf se distingue par sa flexibilité. On peut en effet spécifier plusieurs conditions
différentes avec des actions distinctes, ce qui permet de traiter plusieurs cas de figure en une seule instruction. Cela rend le code plus compact et plus lisible qu'une
série de If imbriqués ou plusieurs appels à Patch.
- Le paramètre DataSource_ joue un rôle central, car c'est lui qui détermine l'endroit où les modifications auront lieu. Il peut s'agir de collections locales ou
de sources de données connectées (comme SharePoint ou Dataverse), mais il
faut garder à l'esprit que les performances et la latence dépendront du type de source.
- Les conditions (Condition1, Condition2,...) permettent une grande expressivité, car elles peuvent être simples (par exemple, une égalité sur un champ) ou complexes
(incluant des opérateurs logiques, des appels de fonction, ou même des variables contextuelles). Cela donne au développeur un contrôle très précis sur les enregistrements
à cibler.
- Le ChangeRecord associé à chaque condition est un enregistrement de type {Champ1: valeur1, Champ2: valeur2, ...}, ce qui permet de modifier plusieurs champs en
une seule opération. Il est important de veiller à la cohérence des données, notamment si certains champs dépendent les uns des autres (par exemple, date de début et
date de fin).
- Lorsque plusieurs conditions sont fournies, elles sont évaluées dans l'ordre d'apparition, ce qui signifie que si un enregistrement satisfait plusieurs conditions,
seule la première applicable sera exécutée. Il faut donc structurer les conditions de manière hiérarchique et réfléchie pour éviter des effets inattendus.
- UpdateIf est non destructif dans le sens où il modifie seulement ce qui est nécessaire, sans supprimer ou réécrire l'ensemble des données. Cela minimise les
risques de perte d'information accidentelle, contrairement à d'autres fonctions comme RemoveIf qui suppriment carrément des enregistrements.
- L'utilisation de UpdateIf dans des applications avec des sources de données distantes peut entraîner des limitations, notamment en ce qui concerne les délégations. Si
la condition n'est pas déléguable, seuls les premiers enregistrements récupérés localement seront évalués, ce qui peut poser des problèmes de cohérence. Il faut donc
surveiller les avertissements de délégation dans l'éditeur Power Apps.
Dernière mise à jour : Jeudi, le 1 Mai 2025