Magazine Informatique

Power Pivot et Power BI: L’importance du modèle en étoiles

Publié le 22 juin 2017 par Sopmar01 @mon_cher_watson

J’ai commencé à utiliser Power Pivot à sa sortie (add-in pour Excel 2010 à l’époque). Je me souviens  qu’au début, je n’étais pas certaine de comprendre pourquoi il était si important de construire un modèle de données en étoile (ou du moins un modèle qui ressemble le plus possible à un modèle en étoile) pour pouvoir utiliser Power Pivot adéquatement (et aujourd’hui Power BI). Au fil des ans, chaque fois que j’ai eu à répondre à des problématiques du côté de Power Pivot, je suis toujours revenue à la base et la réponse s’est souvent trouvée dans le fameux modèle en étoile, que certains usagers choisissent malheureusement d’ignorer. Le présent article vous présente un cas concret où se passer d’un modèle en étoile entraîne des problématiques dans le tableau croisé dynamique. Ceci vous permettra de réaliser, tout comme moi, l’importance de bien modéliser ses données avant de les analyser.

Données de départ

Pour illustrer le tout, nous allons utiliser les données de la table suivante. Notez que les données sont présentées par période et qu’il n’y a pas de dates associées.

Modèles en étoile - Données de base

Mesures en DAX

Supposons maintenant que vous décidez d’analyser cette table de données, sans créer de modèle de données en étoile et que vous y ajoutez les deux mesures suivantes:

Modèle en étoiles - Somme des ventes
Modèle en étoile - Ventes YTD

Tableau croisé dynamique – Période 2

Lorsque vous analyserez les données dans un tableau croisé dynamique, à la période 2, l’information présentée sera exacte. On y  retrouvera les filiales en étiquettes de lignes et les mesures dans les valeurs. Notez qu’un tableau croisé dynamique qui ne comprendrait que les noms de filiales en étiquettes de lignes présenterait les filiales A, B et C.

Modèle en étoile - Période 2

Tableau croisé dynamique – Période 3

Toutefois, lorsque vous analyserez les données pour la période 3, vous rencontrerez un souci. En effet, en cliquant sur la période 3, dans le segment, vous ne verrez apparaître que les filiales B et C. Le total des ventes YTD sera le bon et considérera les ventes de la filiale A mais le tableau ne présentera pas ce résultat sur une ligne individuelle.

Modèle en étoile - Période 3

Explications

À la période 3, il n’y a aucune vente dans la filiale A. Toutefois, comme il y avait des ventes dans les périodes 1 et 2, il y a un montant de ventes YTD pour la filiale A, à la période 3. Mais comme vous demandez de filter votre tableau croisé dynamique selon la période 3, vous ne verrez pas la ligne représentant la filiale A. C’est comme si vous aviez filtré votre table sur la période 3. Vous n’auriez aucune ligne correspondant à la filiale A.

Solution

La solution sera de construire un modèle de données en étoile, avec notamment une dimension période et d’utiliser cette dimension dans votre segment et dans votre tableau croisé dynamique. Ça fait d’ailleurs partie des meilleures pratiques d’affaires avec Power Pivot.

Solution pas à pas : Power Query

Dans un premier temps, vous devez aller dans l’éditeur de requêtes et ajouter une clé de période dans votre table de transactions, tel qu’illustré ci-dessous.

Éditeur de requête - Ajout colonne

Il s’agit simplement d’ajouter une colonne personnalisée avec l’information suivante:

Colonne personnalisée DimPériodes

Vous devez ensuite vous créer une dimension Filiale, une dimension Canal et une dimension Période, avec la même clé de période que dans votre table de transactions.

DimFiliales
DimCanal
DimPériodes

Pour créer ces tables de dimension, vous n’avez qu’à cliquer sur votre table de transactions avec le bouton droit de votre souris et choisir Reference. Vous ferez ainsi une référence à votre table de transactions. Ensuite, vous supprimez toutes les colonnes sauf la colonne de la dimension, par exemple Filiale, et vous supprimez les doublons.

Référence à une autre requête

Création du modèle en étoile

Finalement, vous créez un modèle de données en étoile comme le suivant:

Modèle en étoile final

Vous pouvez alors créer les mesures suivantes:

Mesure modèle étoile Ventes
Mesure modèle en étoile Ventes YTD

Notez qu’elles utilisent les périodes de la nouvelle table de dimension DimPériodes.

Résultat final

En utilisant les années et les périodes de la table de dimension DimPériodes dans les segments du tableau croisé dynamique et en utilisant les filiales de la table DimFiliales dans les lignes du tableau croisé dynamique, vous constaterez que les ventes YTD présenteront les bonnes informations, autant pour la période 2 que la période 3.

TCD période 2
TCD Période 3

Ce sujet vous intéresse?

Si vous souhaitez mieux comprendre comment fonctionne Power Pivot et la modélisation de données, jetez un coup d’œil à notre formation Excel – Introduction à Power Pivot et aux modèles de données.


NOTRE OFFRE DE FORMATIONS


Microsoft Most Valuable Professional

Le CFO masqué vous offre un vaste choix de formations Excel, notamment en tableaux de bord et en modélisation financière, ainsi qu’une série de formations en lien avec Power BI. Ces formations sont offertes en classe, en entreprise et en ligne. Nos formateurs sont des experts dans leur domaine et ils 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. De plus, nos formations peuvent mener à l’obtention d’une accréditation.

Découvrez quelles formations vous conviennent

Pour info: 514-605-7112 ou [email protected]


Retour à La Une de Logo Paperblog

A propos de l’auteur


Sopmar01 3934 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte