Maîtriser les sources de données
On va plus loin avec Power Query : dates et âges, automatiser l'import de plusieurs fichiers, contrôler la qualité, changer une source, et même récupérer des données depuis SQL Server et internet.
Comme en Power Query, la transformation se fait dans un Flux de données (Power Query Online) sur app.powerbi.com. La plupart des opérations sont identiques à Desktop. Trois modules ont une spécificité web signalée par un encadré 🌐 : combiner plusieurs fichiers (module 3), SQL Server (module 9) et webscraping (module 11).
📖 Rappel vocabulaire web (voir le lexique complet au Cours 1) : « Fractionner la colonne » → « Diviser la colonne » · « Dépivoter » → « …du tableau croisé dynamique » · « Fermer & appliquer » → « Enregistrer et fermer ».
Prérequis : avoir terminé la compétence Power Query (importer, entêtes, fractionner, conditionnelle). On réutilise l'éditeur Power Query et le volet « Étapes appliquées ».
📗 Tu connais Excel ? Voici l'équivalent des opérations de ce cours
| Dans Power Query | ≈ Dans Excel | L'idée |
|---|---|---|
| Extraire le mois & trier les dates | MOIS() + tri personnalisé | Ordonner par mois |
| Calculer l'âge (depuis une date) | DATEDIF() | Âge en années |
| Combiner plusieurs fichiers (dossier) | Consolidation / copier-coller | Empiler plusieurs fichiers |
| Qualité de la colonne | Filtres + mise en forme conditionnelle + NB.SI() | Repérer vides, doublons, erreurs |
| Remplacer les valeurs | Rechercher & Remplacer (Ctrl+H) | Corriger en masse |
| Importer SQL Server | Données › À partir d'une base de données | Source base de données |
| Importer depuis le Web | Données › À partir du Web | Récupérer un tableau en ligne |
💡 Beaucoup de ces actions existent déjà dans Power Query d'Excel (onglet Données) : tu retrouveras le même éditeur !
Ordonner / trier des dates
Trier par mois dans le bon ordre grâce à un vrai format date📁 À importer : table mois_ordo du fichier 02 - Base-powerquery.xlsx (même fichier qu'en Power Query).
Sur la table « mois_ordo », on veut un rapport trié par mois dans l'ordre du calendrier (janvier → décembre), pas par ordre alphabétique ni par chiffre d'affaires.
Le piège des dates. Si la colonne « mois » est au format texte, Power BI trie par défaut par ordre… décroissant du CA ou alphabétique (« Avril, Août, Décembre… »). Pour trier correctement, il faut un vrai format date ou un numéro de mois.
Transformer « mois » (texte) en numéro de mois (01–12)
- Ouvre Power Query sur la table « mois_ordo ».
- Ruban Ajouter une colonne › Colonne conditionnelle. Nomme-la « Num Mois ».
- Crée les 12 règles : Si [mois] = « janvier » Alors
01; … ; « décembre » →12. - Tu peux ensuite utiliser ce « Num Mois » pour trier la colonne mois (voir l'astuce ci-dessous).
Trier par colonne (dans la vue Données). Sélectionne la colonne Mois, puis Outils de colonne › Trier par colonne › Num Mois. Les visuels afficheront alors les mois dans l'ordre du calendrier.
≈ En Excel : extraire le numéro de mois avec =MOIS(date), puis utiliser un tri personnalisé (janvier, février…) — exactement la même logique.
Calculer l'âge & créer des tranches
De la date de naissance à l'âge, puis à des groupes de 10 ans📁 À importer : table Age du fichier 02 - Base-powerquery.xlsx (contient les dates de naissance).
Objectif 1 : trouver l'âge du client à partir de sa date de naissance. Objectif 2 : créer des tranches d'âge de 10 ans.
A. Calculer l'âge
- Dans Power Query, clic droit sur la colonne Date de naissance → Dupliquer la colonne (on garde la date d'origine intacte).
- Sélectionne la colonne dupliquée, puis ruban Ajouter une colonne › Date › Âge.
- Le résultat est une durée. Transforme-la : Transformer › Durée › Années totales, puis arrondis à l'entier inférieur.
≈ En Excel : l'âge se calcule avec =DATEDIF(naissance ; AUJOURDHUI() ; "Y") (nombre d'années révolues).
B. Créer des tranches de 10 ans
- Ferme & applique pour revenir dans Power BI (Power View).
- Dans le volet Données, clic droit sur la colonne Âge → Nouveau groupe.
- Type de groupe : Casier (Bin), taille 10. → tranches 0-10, 10-20, 20-30…
Le calcul de l'âge se fait dans le Flux de données (mêmes commandes). Les tranches se créent ensuite côté rapport / modèle : volet Données → clic droit sur Âge → Nouveau groupe. Si l'option n'est pas disponible, crée une colonne conditionnelle dans le flux pour définir tes tranches (0-10, 10-20…).
Les groupes/bins sont parfaits pour les histogrammes de répartition (pyramide des âges, segments de clientèle).
Combiner plusieurs fichiers (dossier)
Un reporting mensuel qui s'enrichit tout seul quand on ajoute un fichier📁 À importer : les fichiers janvier.xlsx, février.xlsx, mars.xlsx (dossier data/combiner).
Objectif : faire un reporting mensuel qui se met à jour automatiquement. On utilise 3 fichiers (dossier data/combiner) : janvier.xlsx, février.xlsx, mars.xlsx.
Important : place tous les fichiers dans un même dossier, et veille à ce que la feuille Excel porte le même nom et la même structure dans chaque fichier.
- Ruban Accueil › Obtenir les données › Dossier.
- Indique le chemin du dossier qui contient janvier/février/mars, puis OK.
- Power BI liste les fichiers du dossier. Clique sur Combiner & transformer.
- Choisis la feuille à combiner : Power Query empile automatiquement les lignes des 3 fichiers.
La magie : ajouter un mois
- Dépose simplement mars.xlsx (ou un nouveau mois) dans le dossier.
- Dans Power BI : Accueil › Actualiser. Les nouvelles données apparaissent sans aucune manipulation.
C'est le principe d'un pipeline automatisé : tu construis la transformation une fois, puis chaque nouveau fichier déposé est traité de la même façon.
Le connecteur « Dossier » lit un dossier de l'ordinateur : impossible depuis le cloud. Deux solutions équivalentes en ligne :
Option A — Dossier SharePoint / OneDrive (le plus proche)
- Dépose janvier/février/mars dans un dossier SharePoint ou OneDrive de ton espace.
- Dans le flux de données : Ajouter de nouvelles tables › Dossier SharePoint et colle l'URL du site.
- Combiner les fichiers : Power Query les empile automatiquement. Déposer un nouveau mois + actualiser le flux suffit ensuite.
Option B — Empiler à la main (sans SharePoint)
- Charge les 3 fichiers comme 3 requêtes (Classeur Excel, une par fichier).
- Ruban Accueil › Ajouter des requêtes pour les empiler en une seule table (revoir Power Query, module 9).
Une fois publié, configure une actualisation planifiée dans le service (paramètres du jeu de données) : chaque nouveau fichier déposé dans le dossier sera intégré automatiquement, sans rouvrir Desktop. Une passerelle de données (Gateway) est nécessaire pour les fichiers locaux/réseau.
Contrôler la qualité des données
Détecter formats, vides et erreurs avant d'analyser📁 À utiliser : la table que tu viens de combiner au module 3 (ou une base à contrôler indiquée par le formateur).
Avant toute analyse, on vérifie : les formats, les cellules vides et les erreurs de valeur/calcul.
Les outils se trouvent dans le ruban Affichage de Power Query :
- Qualité de la colonne — barre Valide / Erreur / Vide en % sous chaque entête.
- Distribution des colonnes — nombre de valeurs distinctes et uniques (utile pour repérer des doublons).
- Profil de colonne — statistiques détaillées (min, max, moyenne, comptes) en bas de l'écran.
- Active les 3 options dans Affichage › groupe « Aperçu des données ».
- Repère les colonnes avec un pourcentage rouge (Erreur) ou gris (Vide).
- Note ce qu'il faudra réparer au module suivant.

Par défaut, le profil est calculé sur les 1000 premières lignes. En bas, tu peux passer à « sur l'ensemble du jeu de données » pour une analyse complète.
Réparer les données
Corriger formats, vides et erreurs repérés📁 À utiliser : la même base qu'au module 4 (celle dont on a repéré les défauts).
On corrige maintenant les problèmes détectés au module 4.
- Format : clique sur l'icône de type à gauche de l'entête et choisis le bon type (Date, Nombre décimal, Texte…).
- Restructurer : au besoin, Fractionner (web : « Diviser la colonne ») puis Fusionner des colonnes (revoir Power Query, modules 5 & 7).
- Cellules vides : clic droit sur la colonne → Remplacer les valeurs (remplace
nullpar 0, « Inconnu »…) ou Remplir vers le bas. - Erreurs : clic droit → Remplacer les erreurs pour mettre une valeur de secours, ou Supprimer les erreurs pour retirer les lignes fautives.
≈ En Excel : Remplacer les valeurs ≈ Rechercher & Remplacer (Ctrl+H) ; corriger le format d'une colonne ≈ changer le format de cellule.
« Supprimer les erreurs » enlève des lignes entières. Vérifie d'abord la cause (souvent un format mal converti) avant de supprimer.
Changer la source de données
Repointer une requête vers un autre fichier sans tout refaire📁 À importer : base janvier.xlsx puis base cumul février.xlsx (dossier data/source).
Objectif : cumuler / mettre à jour l'import en changeant le fichier source tout en gardant toutes les transformations déjà faites. Fichiers d'exemple (dossier data/source) : base janvier.xlsx → base cumul février.xlsx.
- Ouvre Power Query : Accueil › Transformer les données.
- Sélectionne la requête, puis Accueil › Paramètres de la source de données (ou la 1ʳᵉ étape « Source » dans le volet de droite).
- Clique sur Modifier la source et choisis le nouveau fichier (ex. « base cumul février »).
- Fermer & appliquerEnregistrer et fermer puis Actualiser : toutes tes étapes de nettoyage s'appliquent au nouveau fichier.
Dans le flux de données, ouvre l'éditeur Power Query : clique sur la 1ʳᵉ étape Source (volet Étapes appliquées) puis sur l'engrenage ⚙️ pour modifier la source ; ou utilise Accueil › Gérer les connexions / Sources de données. Toutes les étapes de nettoyage sont conservées.
Très utile quand le chemin d'un fichier change (déplacement de dossier, partage réseau) ou pour passer d'un fichier de test à la vraie source.
Colonne conditionnelle vs remplacement de valeurs
Choisir l'outil qui crée le moins d'étapes📁 Pas de nouvel import : technique applicable à n'importe quelle requête déjà chargée.
Pour créer une nouvelle colonne basée sur des règles, privilégie autant que possible la colonne conditionnelle.
Le remplacement de valeurs agit valeur par valeur : pour gérer beaucoup de cas, il génère de nombreuses étapes dans « Étapes appliquées ». La colonne conditionnelle regroupe toutes les règles SI…ALORS…SINON en une seule étape, plus lisible et plus facile à maintenir.
| Critère | Remplacer les valeurs | Colonne conditionnelle |
|---|---|---|
| Nombre d'étapes | Une par remplacement | Une seule |
| Lisibilité | Faible si nombreux cas | Élevée |
| Idéal pour | 1-2 corrections ponctuelles | Catégoriser / classer |
Dupliquer vs Référencer une requête
Comprendre la différence entre une copie et une « vue » liée📁 Pas de nouvel import : à tester sur une requête déjà chargée (clic droit sur la requête).
Power Query propose deux façons de réutiliser une requête. Il faut bien comprendre la différence (clic droit sur une requête).
- Dupliquer : crée une copie indépendante. Tu peux modifier la copie sans toucher l'originale. Parfait pour tester sans risque.
- Référence : crée une « vue » qui part du résultat de la requête source. Les deux restent liées : si la source change, la référence change aussi.
Quand utiliser quoi ? Une référence est idéale quand plusieurs tables doivent dériver d'une même base nettoyée (ex : une « table mère » propre, puis des références filtrées par région). Une duplication sert aux bacs à sable et aux essais.
Importer depuis une base SQL Server
Connecter Power BI à une base de données relationnelle📁 À connecter : une base SQL Server (instance fournie par le formateur / l'environnement).
Au-delà d'Excel, Power BI se connecte à des bases de données. On voit le cas SQL Server (un classique en entreprise), en partant d'une base Excel importée dans SQL Server.
- Ruban Accueil › Obtenir les données › Base de données SQL Server.
- Saisis le Serveur (ex.
localhostouNOM\SQLEXPRESS) et, si besoin, la Base de données. - Choisis le mode : Import (copie les données dans Power BI) ou DirectQuery (interroge le serveur en direct).
- Authentifie-toi (Windows ou identifiants SQL), puis sélectionne les tables dans le Navigateur → Transformer les données.

Dans le flux de données, choisis la source Base de données SQL Server. Pour un serveur sur site (on-premises), le service a besoin d'une passerelle de données (Gateway) installée sur une machine Windows du réseau : c'est elle qui relaie la connexion. Pour une base Azure SQL (cloud), aucune passerelle n'est nécessaire — la connexion est directe.
Import vs DirectQuery. Import = plus rapide à l'usage, données figées jusqu'à l'actualisation. DirectQuery = toujours à jour, mais dépend des performances du serveur. Pour débuter, choisis Import.
≈ En Excel : c'est Données › Obtenir des données › À partir d'une base de données › SQL Server — le même connecteur.
Déterminer la provenance des données
Savoir d'où vient chaque table (traçabilité)📁 Pas de nouvel import : on inspecte les requêtes déjà chargées.
Quand un modèle grandit, il faut pouvoir répondre à : « d'où vient cette table ? Excel, SQL, web ? »
- Dans Power Query : Affichage › Dépendances des requêtes → un schéma montre l'enchaînement source → requêtes.
- Sélectionne une requête et regarde sa première étape « Source » : elle indique le connecteur (Excel.Workbook, Sql.Database, Web.Contents…).
- Accueil › Paramètres de la source de données liste toutes les sources utilisées par le fichier.
Documenter la provenance, c'est essentiel pour la gouvernance : maintenance, conformité, et compréhension par les autres utilisateurs.
Webscraping : importer des données depuis internet
Récupérer un tableau web, puis automatiser plusieurs pages avec une fonction M📁 À utiliser : une page web (ex. france-inflation.com) — aucun fichier à télécharger.
Power BI peut lire les tableaux d'une page web. Exemple simple : l'inflation depuis 1901 sur france-inflation.com.
≈ En Excel : c'est Données › À partir du Web — on colle l'URL et Excel/Power Query détecte les tableaux de la page.
A. Importer une page
- Ruban Accueil › Obtenir les données › Web.
- Colle l'URL de la page, puis OK.
- Dans le Navigateur, Power BI détecte les tableaux de la page : coche celui qui t'intéresse → Transformer les données.
Le connecteur Web existe aussi dans le flux de données : Ajouter de nouvelles tables › Web, colle l'URL, coche le tableau. La fonction M paramétrée (pages 1 à 7) fonctionne de la même façon dans Power Query Online.

Table.ExpandTableColumn), avec les barres de qualité.B. Importer plusieurs pages (fonction M paramétrée)
Astuce : l'URL doit contenir un numéro de page (ex. …_pg1, …_pg2…). On va créer une fonction qui prend le numéro de page en paramètre.
- Importe d'abord une page (ex. page 1) et nettoie-la.
- Transforme la requête en fonction : clic droit sur la requête → Créer une fonction, paramètre
page(nombre entier).
(page as number) =>
let
url = "https://exemple.com/data_pg" & Number.ToText(page),
source = Web.Contents(url),
table = Html.Table(source)
in
table
- Crée ensuite une table de nombres de 1 à 7 (les 7 pages) : Accueil › Entrer des données, ou la formule M ci-dessous.
// liste des pages 1..7 transformée en table
= Table.FromList({1..7}, Splitter.SplitByNothing(), {"page"})
- Ajoute une colonne personnalisée qui appelle la fonction pour chaque numéro de page :
= MaFonction([page]). - Développe la colonne de tables : les 7 pages sont importées et empilées automatiquement.
🎉 Compétence « Sources » terminée ! Tu sais désormais alimenter Power BI depuis Excel, des dossiers, SQL Server et le web, et garantir la qualité des données. Place au DAX !