ForAll |
Premier de tous |
| Power Fx |
Syntaxe
Paramètres
| Nom |
Description |
| Table |
Ce paramètre représente la table d'enregistrements pour laquelle la formule sera évaluée. |
| Formula |
Ce paramètre représente la formule à évaluer pour chaque enregistrement de la table. |
Description
Cette fonction permet d'évaluer une formule pour tous les enregistrements d'une table.
Remarques
- Permet de traiter chaque enregistrement individuellement : La fonction ForAll est essentielle pour appliquer une logique à chaque élément d'une table. Chaque
ligne est traitée indépendamment, ce qui permet d'exécuter des opérations spécifiques ou des mises à jour en masse tout en gardant un contrôle précis sur chaque
enregistrement.
- Particulièrement utile pour exécuter des fonctions avec effet de bord : ForAll est souvent utilisé avec des fonctions comme Patch,
Collect, ou Remove, ayant un effet sur les données. Cela permet d'appliquer ces actions à plusieurs enregistrements sans avoir besoin d'écrire une boucle explicite.
- La formule peut inclure des appels à des fonctions complexes : La formule passée à ForAll peut être simple (ex. une affectation) ou complexe (appels à
des fonctions conditionnelles, manipulation de chaînes,...). Cela donne à ForAll une grande flexibilité pour automatiser des traitements sur des données.
- Les variables de contexte sont locales à chaque itération : Lorsqu'un enregistrement est traité par ForAll, il devient le contexte local de la formule.
Cela permet d'accéder directement aux champs de l'enregistrement sans avoir à faire de références explicites à la table source.
- Peut retourner une table de résultats : Lorsque la formule renvoie une valeur, ForAll construit automatiquement une table avec tous les résultats. Cela
est utile pour transformer ou agréger des données, ou encore enchaîner des opérations fonctionnelles.
- Les opérations sur les connecteurs de données doivent respecter les limites de délégation : Lorsqu'on utilise ForAll avec des sources de données
connectées (comme SharePoint ou Dataverse), il faut être attentif aux
limitations de délégation. Certaines opérations effectuées dans la formule ne sont pas déléguées, ce qui peut provoquer des résultats partiels.
- N'est pas une boucle classique mais une fonction évaluative : Contrairement aux boucles en langage impératif, ForAll ne garantit pas un ordre d'exécution
strict. Il ne faut pas compter sur un ordre séquentiel, surtout lorsque des effets de bord (comme des appels réseau) sont impliqués.
- Combine très bien avec les fonctions de transformation comme With, If, ou Switch : On
peut enrichir la logique interne de la formule avec des constructions conditionnelles ou des blocs de définition. Cela permet d'écrire du code plus lisible et structuré,
même dans le cadre d'un traitement itératif sur une table.
Dernière mise à jour : Jeudi, le 1 Mai 2025