Power BI · Cours interactif
Compétence · Sources & Power Query avancé

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.

🎚️ Débutant + 📁 02 - Base-powerquery.xlsx + fichiers fournis
Ta progression
0% 0 / 11 modules
Quel outil utilises-tu ?
Les instructions s'adaptent à ton choix (mémorisé).
🍎 Parcours web (Mac)

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 ExcelL'idée
Extraire le mois & trier les datesMOIS() + tri personnaliséOrdonner par mois
Calculer l'âge (depuis une date)DATEDIF()Âge en années
Combiner plusieurs fichiers (dossier)Consolidation / copier-collerEmpiler plusieurs fichiers
Qualité de la colonneFiltres + mise en forme conditionnelle + NB.SI()Repérer vides, doublons, erreurs
Remplacer les valeursRechercher & Remplacer (Ctrl+H)Corriger en masse
Importer SQL ServerDonnées › À partir d'une base de donnéesSource base de données
Importer depuis le WebDonnées › À partir du WebRé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 !

1

Ordonner / trier des dates

Trier par mois dans le bon ordre grâce à un vrai format date
✓ Terminé

📁 À 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)

  1. Ouvre Power Query sur la table « mois_ordo ».
  2. Ruban Ajouter une colonne Colonne conditionnelle. Nomme-la « Num Mois ».
  3. Crée les 12 règles : Si [mois] = « janvier » Alors 01 ; … ; « décembre » → 12.
  4. 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.

✅ À toi de jouer
2

Calculer l'âge & créer des tranches

De la date de naissance à l'âge, puis à des groupes de 10 ans
✓ Terminé

📁 À 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

  1. Dans Power Query, clic droit sur la colonne Date de naissanceDupliquer la colonne (on garde la date d'origine intacte).
  2. Sélectionne la colonne dupliquée, puis ruban Ajouter une colonne Date Âge.
  3. 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

  1. Ferme & applique pour revenir dans Power BI (Power View).
  2. Dans le volet Données, clic droit sur la colonne ÂgeNouveau groupe.
  3. Type de groupe : Casier (Bin), taille 10. → tranches 0-10, 10-20, 20-30…
Sur le web

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 ÂgeNouveau 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).

✅ À toi de jouer
3

Combiner plusieurs fichiers (dossier)

Un reporting mensuel qui s'enrichit tout seul quand on ajoute un fichier
✓ Terminé

📁 À 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.

  1. Ruban Accueil Obtenir les données Dossier.
  2. Indique le chemin du dossier qui contient janvier/février/mars, puis OK.
  3. Power BI liste les fichiers du dossier. Clique sur Combiner & transformer.
  4. Choisis la feuille à combiner : Power Query empile automatiquement les lignes des 3 fichiers.

La magie : ajouter un mois

  1. Dépose simplement mars.xlsx (ou un nouveau mois) dans le dossier.
  2. 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.

Sur le web : pas de dossier local

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)

  1. Dépose janvier/février/mars dans un dossier SharePoint ou OneDrive de ton espace.
  2. Dans le flux de données : Ajouter de nouvelles tables Dossier SharePoint et colle l'URL du site.
  3. 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)

  1. Charge les 3 fichiers comme 3 requêtes (Classeur Excel, une par fichier).
  2. Ruban Accueil Ajouter des requêtes pour les empiler en une seule table (revoir Power Query, module 9).
Sur Power BI web — actualisation automatique

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.

✅ À toi de jouer
4

Contrôler la qualité des données

Détecter formats, vides et erreurs avant d'analyser
✓ Terminé

📁 À 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.
  1. Active les 3 options dans Affichage groupe « Aperçu des données ».
  2. Repère les colonnes avec un pourcentage rouge (Erreur) ou gris (Vide).
  3. Note ce qu'il faudra réparer au module suivant.
Éditeur Power Query onglet Affichage avec barres de qualité Valide Erreur Vide
Éditeur Power Query, onglet Affichage : les barres de qualité (Valide / Erreur / Vide) sous chaque entête.

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.

5

Réparer les données

Corriger formats, vides et erreurs repérés
✓ Terminé

📁 À 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.

  1. Format : clique sur l'icône de type à gauche de l'entête et choisis le bon type (Date, Nombre décimal, Texte…).
  2. Restructurer : au besoin, Fractionner (web : « Diviser la colonne ») puis Fusionner des colonnes (revoir Power Query, modules 5 & 7).
  3. Cellules vides : clic droit sur la colonne → Remplacer les valeurs (remplace null par 0, « Inconnu »…) ou Remplir vers le bas.
  4. 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 valeursRechercher & 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.

6

Changer la source de données

Repointer une requête vers un autre fichier sans tout refaire
✓ Terminé

📁 À 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.xlsxbase cumul février.xlsx.

  1. Ouvre Power Query : Accueil Transformer les données.
  2. 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).
  3. Clique sur Modifier la source et choisis le nouveau fichier (ex. « base cumul février »).
  4. Fermer & appliquerEnregistrer et fermer puis Actualiser : toutes tes étapes de nettoyage s'appliquent au nouveau fichier.
Sur le web

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.

7

Colonne conditionnelle vs remplacement de valeurs

Choisir l'outil qui crée le moins d'étapes
✓ Terminé

📁 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èreRemplacer les valeursColonne conditionnelle
Nombre d'étapesUne par remplacementUne seule
LisibilitéFaible si nombreux casÉlevée
Idéal pour1-2 corrections ponctuellesCatégoriser / classer
8

Dupliquer vs Référencer une requête

Comprendre la différence entre une copie et une « vue » liée
✓ Terminé

📁 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.

✅ À toi de jouer
9

Importer depuis une base SQL Server

Connecter Power BI à une base de données relationnelle
✓ Terminé

📁 À 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.

  1. Ruban Accueil Obtenir les données Base de données SQL Server.
  2. Saisis le Serveur (ex. localhost ou NOM\SQLEXPRESS) et, si besoin, la Base de données.
  3. Choisis le mode : Import (copie les données dans Power BI) ou DirectQuery (interroge le serveur en direct).
  4. Authentifie-toi (Windows ou identifiants SQL), puis sélectionne les tables dans le NavigateurTransformer les données.
SQL Server Management Studio montrant une instance SQL Server et ses bases de données
La base hébergée dans SQL Server (vue dans SQL Server Management Studio), prête à être connectée.
Sur le web : la passerelle de 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.

10

Déterminer la provenance des données

Savoir d'où vient chaque table (traçabilité)
✓ Terminé

📁 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 ? »

  1. Dans Power Query : Affichage Dépendances des requêtes → un schéma montre l'enchaînement source → requêtes.
  2. Sélectionne une requête et regarde sa première étape « Source » : elle indique le connecteur (Excel.Workbook, Sql.Database, Web.Contents…).
  3. 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.

11

Webscraping : importer des données depuis internet

Récupérer un tableau web, puis automatiser plusieurs pages avec une fonction M
✓ Terminé

📁 À 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

  1. Ruban Accueil Obtenir les données Web.
  2. Colle l'URL de la page, puis OK.
  3. Dans le Navigateur, Power BI détecte les tableaux de la page : coche celui qui t'intéresse → Transformer les données.
Sur le web : identique

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.

Résultat du webscraping : les 7 pages web développées en une seule table dans Power Query
Résultat du webscraping : les 7 pages développées en une seule table (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.

  1. Importe d'abord une page (ex. page 1) et nettoie-la.
  2. Transforme la requête en fonction : clic droit sur la requête → Créer une fonction, paramètre page (nombre entier).
Fonction M — importe la page demandée
(page as number) =>
let
    url    = "https://exemple.com/data_pg" & Number.ToText(page),
    source = Web.Contents(url),
    table  = Html.Table(source)
in
    table
  1. Crée ensuite une table de nombres de 1 à 7 (les 7 pages) : Accueil › Entrer des données, ou la formule M ci-dessous.
Générer les pages 1 à 7 puis tout appeler
// liste des pages 1..7 transformée en table
= Table.FromList({1..7}, Splitter.SplitByNothing(), {"page"})
  1. Ajoute une colonne personnalisée qui appelle la fonction pour chaque numéro de page : = MaFonction([page]).
  2. Développe la colonne de tables : les 7 pages sont importées et empilées automatiquement.
✅ À toi de jouer

🎉 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 !