Support formation Rapports Power BI
Support formation Rapports Power BI
2 | Transformer ses données (Power Query)

icon picker
Pourquoi transformer ses données ?

Il faut normaliser ses données !

La normalisation consiste à structurer ses données pour les rendre exploitables par un Tableau Croisé Dynamique.
Si vos données source ne sont pas normalisées, Power Query va le faire pour vous. Vous n’aurez pas besoin de modifier vos sources : Power Query appliquera les transformations que vous aurez déterminées, et ce, à chaque mise à jour de la source.

Structure de base

Voici un exemple de structure de données qui n’est pas (ou difficilement) exploitable directement par un Tableau Dynamique Croisé (TCD) :
image.png
Notre TCD donnerait ceci :
image.png
Plusieurs problèmes se présentent ici :
Nous avons fait glisser successivement les champs Janvier, Février et Mars dans la zone Valeurs. C’est long, glisser 1 seul champ aurait été plus rapide !
Quand nous aurons les autres mois de l’année, nous devrons ajouter 9 autres champs. C’est long également ! Et on peut se tromper lors de l’ajout.
Calculer le total de l’année va être compliqué. Possible, mais compliqué !

Bonne structure

Voici les mêmes données, mais normalisées (peu importe ici la méthode utilisée pour réaliser cette normalisation) :
image.png
Et le TCD réalisé à partir de ces données :
image.png
Les avantages sont les suivants :
Nous avons fait glisser le seul champ “Mois’” dans la zone Valeurs, ce qui a créé autant de colonnes que de mois. Pratique !
Quand de nouveaux mois apparaitront dans la source, ils s’afficheront automatiquement à la suite (colonne F...)
Les totaux des mois s’affichent déjà, dans la colonne Total général. Quand de nouveaux mois apparaitrons dans la source, cette colonne sera recalculée automatiquement.

Première leçon à tirer

Une colonne d’une source normalisée contient des données de même nature
Dans notre premier tableau, il y avait 3 colonnes qui contenaient de données de même nature, en l’occurrence les quantités. Dans notre version normalisée, une seule colonne “Qte” contient toutes les quantités.
Finalement, la colonne Mois de notre source normalisée contient aussi des données de même nature.

Ajouter des données en conservant la normalisation

Nous voulons continuer à enrichir notre source de données. Au lieu de créer un autre classeur ou une autre feuille, nous mettons les données de chaque année, nous créons 2 colonnes :
image.png
Mauvaise idée ! Nous retrouvons notre problème du début : chaque nouvelle année entrainera la création d’une nouvelle colonne, donc une nouvelle colonne à faire glisser dans la zone Valeurs de notre TCD. Au lieu de cela, nous créons une colonne Année :
image.png
Nous avons donc 2 fois plus de lignes, (18 pour 2019 et 18 pour 2020). Mais ce n’est pas un problème. Notre colonne “Année” contient logiquement des... années. Et la colonne “Qte” contient toujours des... quantités.
Nous avons ici fait glisser le champ Année dans la zone Filtre du TCD. Nous filtrons sur l’année 2019 :
image.png
Puis sur l’année 2020 :
image.png
Trop facile !

Comment normaliser ses données

2 cas se présentent :
Vos données sources sont déjà normalisées. C’est typiquement le cas d’une source de type Base de données, comme SQL Server, Oracle, MySQL, etc.
Vos données sources ne sont pas normalisées. Ce peut être le cas d’un classeur Excel. Vous pouvez soit modifier vos données sources “à la main”, avec des copier/coller. Vous pouvez aussi ne pas toucher au fichier et utiliser Power Query pour réaliser la transformation.

Normaliser avec Power Query

Voici un exemple de fichier à normaliser :
image.png

Etapes résumés dans Power Query

Lancer Excel (version 2016 et suivante).
Cliquer sur Données > Obtenir des données (ou Nouvelle requête) > A partir d’un fichier > A partir d’un classeur.
Sélectionner le fichier Excel contenant la plage à transformer, ce qui affiche :
image.png
Dans cette fenêtre Navigateur, sélectionner la feuille et cliquer sur Transformer les données (ou Modifier), ce qui affiche :
image.png
Cliquer dans la colonne Année puis clic droit > Remplir > Vers le bas :
image.png
Sélectionner les colonnes Année et Produit, puis clic droit > Dépivoter les autres colonnes :
image.png
Double-cliquer sur l’en-tête Attribut et saisir Mois. Idem pour la colonne Valeur en Qte :
image.png
Nous voulons une colonne de type Date, qui regroupera les mois et années, comme 01/01/2019.
Cliquer sur la colonne Mois (clic sur l’en-tête) puis Année (CTRL + Clic), clic droit > Fusionner. Dans la boite qui s’ouvre, cliquer directement sur OK :
image.png
Cliquer sur l’en-tête de la colonne “Fusionnée” puis Transformer > Date > Analyser :
image.png
Renommer la colonne en DateVente
Les transformations sont terminées ! Renvoyons les données vers Excel : Accueil > Fermer et charger :
image.png
Le résultat est un Tableau normalisé.






Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.