Dans les versions récentes de Power Pivot et de Power BI Desktop, il est désormais possible de choisir le nombre, le sens et la multiplicité des relations entre les différentes tables de vos modèles de données. Cet article vise à expliquer en quoi consiste le nombre, le sens et la multiplicité des relations entre les tables d’un modèle de données et à comprendre leur impact sur les visualisations de données résultantes.
Multiplicité des relations
Many to One (*:1)
Ce type de relation est le plus commun. Il s’agit d’une relation entre une table où chaque élément de la clé commune entre les deux tables n’est présent qu’une seule fois dans la table (c’est le côté représenté par le One) et une table où chaque élément de la clé commune peut être présent plus d’une fois (c’est le côté représenté par le Many). Dans l’exemple ci-bas, la clé commune entre les deux tables est le code de produit (A, B, C). Les codes de produits apparaiseent plusieurs fois dans la première table, soit la table de transactions de ventes et chaque code de produit n’apparaît qu’une seule fois dans la table de dimension de produits. Nous pourrions donc créer une relation Many to One entre ces deux tables.
One to One (1:1)
Ce type de relation est moins commun. Il suppose que chaque élément d’une clé commune entre deux tables n’est présent qu’une seule fois dans chaque table. Dans l’exemple ci-bas, la clé commune est le no.employé et chaque employé n’apparaît qu’une seule fois dans la première table, soit la table de dimension Employés et il n’apparaît qu’une seule fois également dans la deuxième table, soit la table de faits concernant les augmentations de salaires.
Sens des relations
Single (simple)
Les filtres sur les tables connectées fonctionnent sur la table qui est aggrégée. Il s’agit de la seule option de sens de relations disponible dans les versions Power Pivot 2013 et 2010. Une relation single ou simple est représentée par une flèche unidirectionnelle, comme c’est le cas dans l’image ci-dessous entre la table de transactions de ventes et la table de dimension de produits.
Vous remarquez qu’il existe également une relation single ou simple entre la table de transactions de ventes et la table de dimension de magasins et une relation single ou simple entre la table de dimension magasins et la table de dimension catégories. Ce faisant, la table de transactions de ventes est liée à la table de dimension catégories, par une relation single ou simple. Ceci permet de présenter les ventes par catégorie, tel qu’illustré ci-dessous. À noter qu’il serait également possible de présenter cette information si la relation était both (bidirectionnelle). Notez toutefois qu’il est impossible de présenter le nombre de produits par ville ou le nombre de produits par code postal. Le compte demeure toujours à 114 et les champs de produits ne se filtrent donc pas correctement.
Both (bidirectionnelle)
Les relations bidirectionnelles fonctionnent bien dans des modèles de données qui suivent un schéma en étoile, avec une seule table de faits. Par exemple, une table de transactions de ventes, avec une table de dimension de dates et une table de dimension de magasins. Dans l’exemple ci-dessous, nous avons créé une relation bidirectionnelle entre la table de transactions de ventes et la table de dimension de produits.
Dans ce cas-ci, notez qu’on peut toujours présenter les ventes par catégorie mais qu’on peut également préseter le nombre de produits par ville et par code postal. Cela est possible parce que la relation bidirectionnelle entre la table de transactions de ventes et de dimension de produits agit comme une seule table unifiée dans le modèle de données.
Vous pourriez être tenté de créer une relation bidirectionnelle entre la table de transactions de ventes et la table de dimensions de magasins, mais cette action serait impossible. Voici pourquoi. D’abord, pour changer le sens d’une relation, vous devez cliquer sur l’option Manage Relationships (gérer les relations) dans le menu Home (Accueil).
Vous avez ainsi accès à la liste des relations entre les tables de votre modèle de données. Vous pouvez sélectionner la relation entre la table de transactions de ventes et la table de dimension de magasins et cliquer sur Edit (Modifier).
En choisissant une relation bidirectionnelle, vous obtiendrez un message d’erreur. En effet, vous ne pouvez pas créer de relation bidirectionnelle lorsque vous avez 2 tables de faits reliées à la même table de dimension, à moins que l’une des relations soit inactivée (voir point suivant).
Nombre de relations
Pour désactiver une relation entre deux tables, vous pouvez simplement décocher la case de la colonne Active. Dans notre exemple, pour permettre une relation bidirectionnelle entre la table de transactions de ventes et la table de dimension de magasins, il faudrait désactiver la relation entre la table de ventes budgétées et la table de dimension de magasins.
Deux tables peuvent donc être liées entre elles par le biais de plusieurs relations. Dans ce cas, il faut définir une relation par défaut (relation active) et les autres relations deviendront des relations secondaires (vous les verrez apparaître en pointillé dans votre modèle de données). Un exemple classique de relations multiples entre deux tables est celui d’une table de commandes avec des dates de commande, des dates de livraison prévues et des dates de livraison finales qui est liée 3 fois à une table de dimension de dates. Dans ce cas, par défaut, on présentera les dates de commande (si cette relation est la relation active) mais il sera possible de présenter des visualisations basées sur les dates de livraison prévues et finales, par le biais du langage DAX.
NOTRE OFFRE DE FORMATIONS
Le CFO masqué vous offre 13 formations, réparties dans 4 catégories: Tableaux de bord, Modélisation financière, Finance corporative et Analyse et modélisation de données. Ces formations sont offertes en classe, en entreprise et en ligne. Nos formateurs sont des experts dans leur domaine et sont accrédités par Emploi-Québec et vous remettent un certificat, à la fin de chaque formation, que vous pouvez notamment utiliser pour faire reconnaître des heures de formation continue auprès de votre ordre professionnel.
Consulter la liste des formations offertes
Pour info: 514-605-7112 ou info@lecfomasque.com