Une donnée juste, avant une donnée jolie
La séance 1 corrigeait la forme des exports. Celle-ci s'attaque au fond : une même valeur saisie de quatre façons, une ligne comptée deux fois, un texte dans une colonne de nombres. Ces défauts ne se voient pas dans un graphique — ils le rendent simplement faux. Puis on apprend à rassembler : plusieurs fichiers en un, deux tables par une clé.
Les fichiers de la séance : datashop-retours-a-nettoyer.xlsx (modules 0 à 2), et datashop-modele.xlsx (modules 3 et 4), le classeur complet de Datashop que tu garderas jusqu'à la fin du parcours.
Profiler avant de nettoyer
Trois cases à cocher qui montrent ce que l'œil ne voit pasLes magasins saisissent leurs retours à la main. Le fichier Saisie_retours a l'air propre : il ne l'est pas. Avant de corriger quoi que ce soit, on mesure.
- Importe
Saisie_retourspar Transformer les données. - Onglet Afficher, flèche de Vue de données : Afficher les détails de la qualité des colonnes, Afficher la distribution des valeurs de colonne, Activer le profil de colonne.
- En bas de la fenêtre, clique sur Profilage de colonne basé sur les 1000 premières lignes et choisis l'ensemble du jeu de données.
| Outil | Ce qu'il montre | Ce qu'il révèle ici |
|---|---|---|
| Qualité de la colonne | % de valeurs valides, en erreur, vides | Une erreur dans Quantité, une fois le type fixé |
| Distribution | Nombre de valeurs distinctes et uniques | Motif a 14 valeurs distinctes pour 7 motifs réels |
| Profil de colonne | Statistiques et histogramme de la colonne choisie | Les variantes « colis endommagé », « Colis endomagé »… |
Le piège des 1000 lignes. Par défaut, le profil ne regarde que les 1000 premières lignes. Sur les 2 140 lignes de commande de Datashop, une erreur en ligne 1 500 est invisible — et la barre affiche fièrement « 100 % valide ».
Uniformiser une saisie
Une valeur, une seule écriturePour Power BI, Colis endommagé, colis endommagé, Colis endommagé (avec des espaces à la fin) et Colis endomagé sont quatre motifs différents. Le graphique des retours les affichera sur quatre barres, et le motif n° 1 perdra des voix.
- Sélectionne
Motif, puis Transformer › Format › Supprimer les espaces : les espaces en début et en fin disparaissent. - Clic droit sur la colonne › Remplacer les valeurs :
colis endommagéparColis endommagé. Recommence pour chaque variante restante — le remplacement respecte la casse. - Relis la distribution : il doit rester 7 valeurs distinctes.
Pourquoi pas « Mettre en majuscule chaque mot » ? Elle écrirait Ne Correspond Pas À L'attente : uniforme, mais faux. Un nettoyage réussi rend la donnée juste, pas seulement homogène. Sur de gros volumes, les fusions approximatives rapprochent automatiquement les écritures voisines — à réserver aux cas où l'on ne peut pas lister les variantes.
« Quel est vraiment notre motif de retour n° 1 ? »
Julie prépare une réunion avec le transporteur et veut des chiffres incontestables : combien de motifs différents, et combien de retours pour chacun.
Voir la solution
- Supprimer les espaces, puis remplacer les 4 variantes (3 en minuscules, 1 coquille).
- Regrouper par
Motif, nombre de lignes — après la suppression du doublon (module 2).
Doublons et erreurs
La ligne comptée deux fois, la valeur qui refuse son typeLe doublon
Le retour RET-0017 a été saisi deux fois. Chaque retour a un numéro unique : c'est donc sur cette colonne qu'on cherche les doublons.
- Sélectionne
N_Retour, puis Accueil › Supprimer les lignes › Supprimer les doublons.
Sur quelle colonne ? Supprimer les doublons sur Motif garderait un seul retour par motif : 7 lignes au lieu de 42. La commande regarde les colonnes sélectionnées : sélectionne la clé, rien d'autre.
L'erreur de type
Une quantité a été saisie 7 pièces. Au passage en nombre entier, la cellule devient Error.
- Avant l'étape de type, Remplacer les valeurs :
7 piècespar7. - Passe ensuite
Quantitéen nombre entier : la barre de qualité doit afficher 100 % valide.
Remplacer les erreurs par 0 ? C'est tentant, et presque toujours faux : on efface une information réelle (7 articles retournés) en la maquillant. Pour voir les lignes en erreur avant de décider, clic droit sur la requête › Conserver les erreurs, dans une requête dupliquée.
« Combien nous coûtent les retours, et quelle part vient du transport ? »
Le contrôleur veut le montant total remboursé sur les deux ans, et la part des colis endommagés.
Voir la solution
Fusionner deux tables
Aller chercher une colonne dans une autre table, par une cléLa table Lignes_commande connaît la référence et la quantité vendues, pas le coût d'achat. Celui-ci est dans Produits. La clé commune : Référence.
- Importe
Lignes_commandeetProduitsdepuisdatashop-modele.xlsx. - Sur
Lignes_commande: Accueil › Combiner › Fusionner des requêtes. - Clique
Référencedans la table du haut,RéférencedansProduits. Type de jointure : externe gauche. - Une colonne
Produitsapparaît : clique sur ses deux flèches et ne coche queCatégorieetCoût_achat_HT. - Ajouter une colonne › Colonne personnalisée :
Coût = [Quantité] * [Coût_achat_HT].
| Jointure | Garde | Usage chez Datashop |
|---|---|---|
| Externe gauche | Toutes les lignes de gauche, et ce qui correspond à droite | Le cas courant : aucune vente ne doit disparaître |
| Interne | Seulement les lignes qui correspondent des deux côtés | Dangereux : une référence mal saisie ferait disparaître sa vente |
| Anti gauche | Les lignes de gauche sans correspondance | Le contrôle : quelles ventes n'ont pas de produit connu ? |
Fusionner ou relier ? La fusion recopie les colonnes dans la table : pratique pour un calcul ligne à ligne, mais elle alourdit le modèle. Dès la séance 3, on préférera le plus souvent une relation entre les deux tables, qui ne recopie rien.
« Combien avons-nous payé ce que nous avons vendu ? »
Ajoute le coût d'achat à chaque ligne, écarte les lignes des commandes annulées (fusionne aussi Commandes pour récupérer le Statut), puis calcule le coût d'achat total des produits vendus.
Voir la solution
- Fusion
Lignes_commande←ProduitssurRéférence(externe gauche), puis ←CommandessurN_Commandepour le statut. - Filtre
Statut≠ « Annulée » : il reste 2 067 lignes sur 2 140.
Dates et délais
Extraire l'année et le mois, mesurer une duréeUne date contient plusieurs informations : l'année, le trimestre, le mois, le jour de la semaine. Power Query les extrait sans formule, et calcule l'écart entre deux dates.
- Dans
Commandes, sélectionneDate, puis Ajouter une colonne › Date › Année › Année. Même chose pour Mois › Nom du mois et Mois › Mois (le numéro). - Pour le délai : sélectionne d'abord
Date_livraison, puisDate(Ctrl+clic), et Ajouter une colonne › Date › Soustraire des jours. - Renomme la colonne
Délai (jours). Les commandes sans date de livraison (annulées, en préparation) donnentnull: c'est juste, elles n'ont pas de délai.
L'ordre de sélection fait le signe. Sélectionner Date en premier donne des délais négatifs. Le mois en toutes lettres, lui, se trie par ordre alphabétique (août avant janvier) : garde toujours le numéro du mois à côté — la séance 3 s'en servira pour trier.
« L'Express tient-il sa promesse ? »
Le client paie plus cher la livraison Express. Calcule le délai moyen de livraison par mode de livraison, sur toutes les commandes qui ont une date de livraison.
Voir la solution
- Délai =
Date_livraison−Date, puis Regrouper parMode_livraison, opération Moyenne.
Les autres sources
Bases de données, pages web, et ce qu'on a le droit de chargerDans une vraie entreprise, les commandes ne sont pas dans un classeur mais dans une base de données. Power BI s'y connecte de la même façon.
| Source | Commande | Ce qu'il faut savoir |
|---|---|---|
| Base SQL Server | Obtenir les données › SQL Server | Nom du serveur, nom de la base, et des droits en lecture |
| Page web | Obtenir les données › Web | Power BI détecte les tableaux de la page |
| Dossier SharePoint | Obtenir les données › Dossier SharePoint | La solution des équipes qui déposent des fichiers |
| Fichier CSV | Obtenir les données › Texte/CSV | Vérifier le séparateur et l'encodage (UTF-8) |
| Flux de données Licence Pro | Dans un espace de travail d'équipe du service | Une préparation Power Query faite une fois, réutilisée par plusieurs modèles. Culture générale : ce cours s'en passe, la licence gratuite n'y donne pas accès. |
Importer ou interroger en direct
- Import : les données sont copiées dans le modèle. Rapide, toutes les fonctions disponibles, mais il faut actualiser.
- DirectQuery : chaque visuel interroge la base en direct. Toujours à jour, plus lent, et certaines transformations deviennent impossibles.
Ne charge que ce dont tu as besoin. Le classeur datashop-modele.xlsx ne contient ni e-mail, ni téléphone, ni adresse des clients : une analyse des ventes n'en a pas besoin. C'est le principe de minimisation du RGPD — une donnée personnelle chargée dans un rapport partagé est une donnée personnelle exposée. Dans Power Query, Choisir les colonnes dès la première étape.
Quiz de fin de séance
Six questions pour vérifier que c'est acquisSix situations de fiabilité, sans revenir en arrière.
Tes données sont propres. La séance 3 les relie : au lieu de fusionner les tables, on construit un modèle où chaque table garde sa place.
STOP exercices. Tu as lu tout l'onglet et répondu à ses questions : arrête-toi ici, ne passe pas encore à l'onglet suivant. En cours, ton intervenant montre l'essentiel sur son écran, puis vous refaites ensemble :
- Dates, doublons, annulées — atelier 1 : dates réelles, plus de doublon ni d'annulée
- Rendre la table, et le dépôt — atelier 1 : les huit étapes faites, déposé, mail envoyé
Tu travailles seul ? Fais ces exercices maintenant, sur ta requête de atelier-pbi-1-caisse.xlsx (page Ateliers), puis passe à l'onglet suivant.