Modélisation : Établir des relations

Vous avez combiné de multiples sources afin d’alimenter votre projet de Business Intelligence et vous avez transformé vos données, en les agençant dans des tables. L’étape suivante consiste à établir des relations entre celles-ci : c’est le rôle de la modélisation, une opération indispensable au cours de laquelle vous tisserez des liens logiques entre vos données, pour mieux les exploiter dans la solution analytique. Dans ce tutoriel, vous découvrirez la procédure en détails avec Power BI Desktop.

Pour visualiser les mécanismes de la modélisation en pratique, nous allons envisager un scénario simple : l’analyse des ventes d’une PME spécialisée dans la distribution de fruits et légumes. Nous avons déjà connecté les données depuis de nombreuses sources, ce qui nous a permis de réunir une quantité importante d’informations. Nous avons ainsi la flotte des commerciaux, identifiés par un ID. Nous avons ensuite la table des clients, eux aussi identifiés par un numéro unique, et celle des factures, avec le numéro des clients associés. En parallèle, nous disposons de la liste des produits en vente, qui appartiennent à une famille (fruits ou légumes) et à une sous-famille (légumes secs, fruits frais, agrumes…). Chaque commercial se voit également associé un budget spécifique, qui évolue dans le temps.

La vue Relations de Power BI Desktop vous laisse cartographier vos tables

La vue Relations de Power BI Desktop vous laisse cartographier vos tables

Au total, nous disposons ainsi d’une dizaine de tables distinctes, avec plusieurs points de concours qui paraissent évidents. Sous Power BI Desktop, reportez-vous à l’onglet Relations pour les visualiser. Vous pouvez librement les déplacer à la souris, en saisissant leur barre de titre par exemple, afin de les organiser de manière logique. En fonction des types et des catégories de données, mais aussi des en-têtes de colonnes, Power BI essaie de tisser automatiquement de premières relations : vous avez intérêt à les supprimer et à les redessiner manuellement, c’est le meilleur moyen de rester maître de votre modèle. Effectuez un clic droit sur les flèches qui associent deux tables et sélectionnez Supprimer.

Lorsque vous créer une relation entre deux tables, la notion de cardinalité est primordiale. Elle définit le nombre possible de relations entre les deux éléments, plus précisément le nombre d’occurrences dans la table d’arrivée associées à une valeur de la table de départ : au moins une (“1:*”), une exactement (“1:1”), plusieurs (“*:1”), etc.. Dans notre exemple, de très nombreuses relations “1:*” sont évidente. C’est par exemple le cas entre la table des clients et celle des factures : il y aura toujours un ou plusieurs ClientID dans “facture”. Même liaison entre la table des commerciaux et celle des clients : un même commercial pourra avoir été affecté à un ou plusieurs clients. Pour associer deux tables, cliquez sur la première d’entre elles en sélectionnant la “clé” qui va faire office de pivot. Maintenez le bouton de la souris enfoncé et relâchez-le au-dessus du champ équivalent dans la seconde table. Vous associerez de cette manière l’identifiant des clients, par exemple, entre les tables “clients” et “factures”.

Vous tissez progressivement les relations entre vos tables, en indiquant les champs correspondants

Vous tissez progressivement les relations entre vos tables, en indiquant les champs correspondants

Vous pouvez toutefois exercer un contrôle plus précis en passant directement par une boîte de dialogue : basculez dans le vue Rapport (présent également dans la page « Relation », reportez-vous à l’onglet Modélisation et cliquez sur Gérer les relations). Outre la possibilité de tenter une détection automatique des relations, vous ajouterez ici de nouveaux liens avec un plus grand niveau de contrôle. Cliquez sur Nouveau puis sélectionnez les deux tables concernées et cliquez sur les colonnes à associer. Vous pouvez ici choisir la cardinalité et même adopter le filtrage croisé dans les deux sens. C’est particulièrement intéressant pour les cas où la relation n’est pas descendante : vous pourrez ainsi “remonter” parmi les données et effectuer des calculs plus spécifiques.

Vous pouvez également définir des relations à travers une boîte de dialogue, où vous préciserez la cardinalité et l'éventuel parcours dans les deux sens

Vous pouvez également définir des relations à travers une boîte de dialogue, où vous préciserez la cardinalité et l’éventuel parcours dans les deux sens