Syntaxe
|
Relate( Table1RelatedTable, Table2Record )
|
Paramètres
| Nom |
Description |
| Table1RelatedTable |
Ce paramètre représente la table contenant la relation cible ou la table où la relation sera créée. Il s'agit d'une table qui contient les données associées à l'enregistrement de Table2Record. |
| Table2Record |
Ce paramètre représente l'enregistrement de la deuxième table qui sera lié à l'enregistrement dans Table1RelatedTable. Il sert de base pour établir la relation avec un enregistrement spécifique de Table1RelatedTable. |
Description
Cette fonction permet de créer une relation entre deux enregistrements.
Remarques
- Permet de gérer explicitement les relations entre enregistrements dans Dataverse : La fonction Relate est spécialement conçue pour établir des
liens entre deux enregistrements issus de tables possédant une relation définie dans Dataverse. Elle est utile pour
manipuler les relations de type un-à-plusieurs ou plusieurs-à-plusieurs de manière contrôlée dans Power Apps.
- Requiert une relation déjà existante entre les tables concernées : Avant d'utiliser Relate, il faut que les tables aient une relation préexistante
dans le modèle de données. Cette fonction ne crée pas une relation structurelle, elle exploite une relation définie au niveau du schéma dans
Dataverse ou dans une autre source qui la prend en charge.
- Complète les opérations de création de données avec gestion des associations : En complément d'un Patch ou d'un
Collect, Relate permet de rattacher un enregistrement à un autre sans devoir spécifier manuellement des identifiants. Cela rend les
opérations plus lisibles et fidèles aux relations définies entre les entités métier.
- La syntaxe reflète la nature orientée relation de Dataverse : Avec la syntaxe Relate(Table1RelatedTable, Table2Record), on accède directement à la
table liée via un champ de navigation. Cette approche est plus intuitive que la manipulation des identifiants étrangers, surtout pour les utilisateurs non développeurs.
- Utile dans des scénarios comme l'ajout de contacts à un compte ou de produits à une commande : Prenons un exemple : pour associer un contact à un compte
dans une application basée sur Dataverse, on peut simplement utiliser Relate(Account.Contacts, ThisContact) sans
devoir modifier des champs manuellement. Cela facilite la gestion de la logique métier.
- Doit être utilisée avec prudence dans les applications multilingues ou avec logique métier avancée : Si l'application comporte des règles métier complexes,
des plugiciels, ou des flux Power Automate déclenchés par la création de relations, l'usage de Relate peut avoir des conséquences secondaires. Il est alors
nécessaire de bien comprendre les impacts en aval.
- Peut être combinée avec Unrelate pour gérer dynamiquement les associations : Power Fx permet également de supprimer une relation avec la fonction
Unrelate. Ensemble, Relate et Unrelate offrent un contrôle total sur les liens entre entités, ce qui est particulièrement utile dans les interfaces
de gestion des associations multiples.
- Non supportée par toutes les sources de données en dehors de Dataverse : La fonction Relate est propre à des sources riches comme
Dataverse. Elle ne fonctionne pas avec des sources comme
SharePoint ou Excel, qui ne disposent pas de mécanismes natifs de relations entre tables dans
Power Fx.
Dernière mise à jour : Jeudi, le 1 Mai 2025