Power BI est un outil de Business Intelligence développé par Microsoft.
Il permet de transformer des données brutes en tableaux de bord interactifs et visuels pour faciliter la prise de décision.
En résumé
Définition simple
Power BI = Excel sur stéroïdes !
Comme Excel, mais :
• Connecté à plusieurs sources de données • Capable de gérer des millions de lignes • Visuels interactifs et modernes • Partage facile sur le web • Actualisations automatiquesExemple concret
Avant Power BI :
• 10 fichiers Excel différents • Copier-coller manuel • Graphiques statiques • Envoi par email • Mise à jour manuelleAvec Power BI :
• Connexion automatique aux sources • Transformation automatique • Dashboard interactif • Lien partagé une seule fois • Actualisation automatiquePower BI permet de transformer des données en informations utiles grâce à plusieurs étapes.
Les 6 grandes capacités de Power BI
CONNECTER
• Se connecter à plusieurs sources de données • Fichiers : Excel, CSV, JSON, XML • Bases de données : SQL Server, MySQL, Oracle • Cloud : Azure, Google Analytics, Salesforce • Web : APIs et services en ligneTRANSFORMER
• Nettoyer les données (doublons, erreurs...) • Modifier les types de données • Combiner plusieurs sources • Filtrer et restructurer les donnéesMODÉLISER
• Créer des relations entre tables • Organiser les données en modèle logique • Optimiser la performanceCALCULER
• Créer des mesures personnalisées • Utiliser le langage DAX (pour la création des mesures, des colonnes, des tables...etc.) • Utiliser le langage M (sur power query) • Calculer des ratios et pourcentages • Calculer des indicateurs temporels (YoY, YTD)VISUALISER
• Créer des graphiques interactifs • Concevoir des tableaux de bord • Utiliser des cartes géographiques • Créer des indicateurs (KPIs)PARTAGER
• Publier sur le web • Partager avec l'équipe • Accéder depuis mobile • Actualiser automatiquement les donnéesRésultat
Power BI est composé de 3 éléments principaux qui travaillent ensemble.
1. Power BI Desktop
C'est quoi ?
• Application Windows gratuite • Installée sur votre ordinateur • Outil principal de créationÀ quoi ça sert ?
• Créer les rapports • Connecter aux données • Transformer les données • Créer des visualisations--> C'est votre ATELIER de travail <--
2. Power BI Service
C'est quoi ?
• Plateforme en ligne (cloud) • Accessible depuis navigateur • Nécessite un compte Microsoft (une licence pour pouvoir publier)À quoi ça sert ?
• Publier les rapports • Partager avec d'autres utilisateurs • Actualiser automatiquement les données • Collaborer avec l'équipe • Gérer les Workspaces--> C'est votre SHOWROOM en ligne <--
3. Power BI Mobile
• Application iOS et Android • Consultation sur téléphone ou tablette • Notifications en temps réelWorkflow complet
Power BI est devenu l'un des outils de Business Intelligence le plus utilisé au monde grâce à sa puissance, sa simplicité et son intégration avec l'écosystème Microsoft.
Les principaux avantages de Power BI
GRATUIT (version Desktop)
• Pas de licence nécessaire pour créer des rapports • Téléchargement gratuit • Toutes les fonctionnalités de création inclusesPUISSANT
• Gère des millions de lignes de données • Calculs rapides et optimisés • Technologie de compression avancée • Visuels interactifs en temps réelCONNECTIVITÉ
• Plus de 150 connecteurs natifs • Compatible avec Excel, SQL, Azure, Google • Connexion aux APIs et services web • Données en temps réelVISUELS MODERNES
• Plus de 30 types de graphiques • Design moderne et interactif • Animations et filtres dynamiques • Interface intuitiveCLOUD ET MOBILE
• Accès depuis n'importe où • Partage simple avec l'équipe • Actualisation automatique • Consultation sur mobilePower BI est utilisé par de nombreux professionnels dans tous les secteurs d'activité.
Profils qui utilisent Power BI
Analystes de données (Data Analysts), Analystes Business (Business Analysts), Contrôleurs de gestion, Managers et dirigeants...etc.
Départements qui utilisent Power BI
Finance, Ventes, Marketing, Ressources humaines, Logestique, Tous !!
En bref : si vous travailler avec des données -> Power BI est utile pour vous!
À la fin de cette formation, vous seriez capable de créer des dashboards professionnels avec Power BI.
Niveau 1 — Basique
Comprendre Power BI Importer des données Nettoyer les données Créer des visualisations simplesNiveau 2 — Intermédiaire
Créer un modèle de données Établir des relations Écrire des mesures DAX Créer des dashboardsNiveau 3 — Avancé
Concevoir des dashboards professionnels Optimiser les performances Publier et partagerProjet final
Compétences acquises
Compétences techniques :
ETL avec Power Query Modélisation de données DAX (formules et mesures) Data Visualization Dashboard Design Publication et partage de rapportsCompétences métier :
Analyse de données Création de KPIs et métriques business Storytelling avec les données Prise de décision basée sur les données Communication visuelle professionnelle
• Windows 10 ou supérieur (64-bit)
• 4 GB RAM minimum (8 GB recommandé)
• 1 GB d'espace disque
• Connexion internet pour les mises à jour
Télécharger Power BI Desktop directement depuis le site Microsoft :
Télécharger Power BI Desktop
Ou sinon :
1. Ouvrir le Microsoft Store
2. Rechercher "Power BI Desktop"
3. Cliquer sur "Obtenir" ou "Télécharger"
4. Attendre le téléchargement et l'installation
5. Lancer Power BI Desktop
Lorsque vous ouvrez Power BI Desktop, l'interface est organisée en plusieurs zones principales :
1. Le ruban (Ribbon)
Situé en haut de l'écran, il contient les principales actions : importer des données, transformer les données, publier un rapport.
2. La zone de rapport
C'est l'espace principal où vous construisez votre dashboard en ajoutant des visuels.
3. Le volet Visualisations
Il permet de choisir le type de graphique (barres, lignes, cartes, tableaux…).
4. Le volet Champs
Il affiche les tables et colonnes de votre modèle de données.
Power BI propose trois vues principales :
Vue Rapport
Permet de créer des visualisations et des dashboards.
Vue Données
Permet d'explorer les tables et les colonnes importées.
Vue Modèle
Permet de voir et gérer les relations entre les tables.
Power BI peut se connecter à de nombreuses sources de données : fichiers Excel, CSV, bases de données SQL, services cloud, APIs… L’importation est la première étape avant de nettoyer, transformer et analyser vos données.
Pour suivre cette formation, vous pouvez télécharger le dataset utilisé dans les exercices.
Cliquez sur le lien ci-dessous pour le récupérer :
Avant de commencer à manipuler le dataset, prenons un moment pour comprendre le contexte métier et les objectifs de cette analyse.
Ce dataset représente les ventes d'un grand Superstore. Face à des demandes croissantes et une concurrence intense, l'entreprise souhaite comprendre quelles stratégies fonctionnent le mieux.
L'objectif est d'analyser :
• Les produits à privilégier ou à éviter
• Les régions les plus rentables
• Les catégories de produits performantes
• Les segments de clients à cibler
Informations Commande :
• Order_ID
• OrderDate
• ShipDate
• Ship_Mode (Standard, Express…)
Informations Client :
• Customer_ID
• Customer_Name
• Segment (Consumer, Corporate, Home Office)
Localisation :
• Country
• City
• State
• Region
• Postal_Code
Produits :
• Product_ID
• Product_Name
• Category (Furniture, Office Supplies, Technology)
• Sub_Category (Chairs, Phones, Storage…)
Métriques :
• Sales (Montant des ventes)
• Quantity (Quantité)
• Discount (Remise)
• Profit (Bénéfice)
1. Cliquez sur "Obtenir des données" dans le ruban
2. Sélectionnez "Text/CSV"
3. Naviguez vers votre fichier
4. Cochez les tables à importer
5. Cliquez sur "Charger" ou "Transformer les données" selon le besoin, dans un premier temps, cliquez sur "Transformer les données".
Vous serez redirigé vers le Power Query.
Astuce: Si les colonnes sont mal séparées, changez le délimiteur dans les options (virgule, point-virgule, tabulation)!
Charger : Importe directement sans modification
Transformer les données : Ouvre Power Query pour nettoyer les données (recommandé)
Une fois importées, vos données ne se mettent pas à jour automatiquement. Vous devez donc les actualiser pour récupérer les dernières informations depuis la source de données.
ACTUALISATION MANUELLE :
1. Allez dans l’onglet "Accueil". 2. Cliquez sur "Actualiser". 3. Power BI recharge alors les données depuis la source. Tips : Raccourci clavier : F5ACTUALISATION PROGRAMMÉE (Power BI Service) :
1. Publiez votre rapport sur Power BI Service. 2. Accédez aux paramètres du dataset / modèle sémantique. 3. Configurez "Actualisation planifiée". 4. Choisissez la fréquence : quotidienne, hebdomadaire, etc. 5. Définissez les heures d’actualisation (ex : tous les jours à 9h00).⚠️ Cette fonctionnalité nécessite une licence Power BI Pro.
Power Query est l’outil ETL de Power BI.
ETL signifie :
• Extract (Extraire) : récupérer les données depuis différentes sources. • Transform (Transformer) : nettoyer, modifier et préparer les données. • Load (Charger) : importer les données dans Power BI pour l’analyse.C'est donc l’outil de transformation de données de Power BI. Il permet de nettoyer, formater et préparer vos données avant de les analyser dans vos rapports.
Power Query enregistre chaque transformation comme une étape.
Vous pouvez voir toutes les étapes dans le panneau à droite et les renommer, les modifier ou les supprimer facilement.
Il est recommandé de toujours renommer vos étapes afin d'y revenir facilement en cas de besoin sans vous perdre dans le grand nombre d'étapes créées.
Manipuler les étapes :
• Cliquez sur une étape → voir le résultat des données à ce moment précis. • Cliquez sur ❌ → supprimer l’étape. • Cliquez sur ⚙️ → modifier les paramètres de l’étape. • Glissez-déposez une étape → réorganiser l’ordre des transformations (⚠️ attention aux dépendances).PARTIE 1 : Nettoyage et transformation
Une fois que vous êtes sur Power Query, il est essentiel de nettoyer et transformer les données :
1• Renommer la table : sur la partie gauche de Power Query "Requêtes", vous pouvez voir votre table importée. - Double clic ou clic droit → Renommer - Renommer en 'SuperStore'
2• Définir l'en-tête : si l’en-tête est sur la première ligne du dataset, cliquez sur "Utiliser la première ligne pour les en-têtes" qui se trouve sur la barre de navigation .
- Cette nouvelle étape apparaît dans "Étapes appliquées" sous le nom "En-têtes promus"
3• Changer le type de données : cliquez sur le petit 'ABC' à gauche du nom de la colonne pour choisir le bon type.
- 'Order_Date' et 'Ship_Date' → Date
⚠️ Pour convertir en date, si le format est diffent de jj/mm/aaaa (exemple mm/jj/aaaa),
vous ne pouvez pas choisir directement Date mais plutôt :
"Utilisation des Paramètres régionaux" → type de données : Date et paramètres régionaux: États-Unis → OK
- 'Postal_Code' et 'Quantity' → Nombre entier
- 'Sales', 'Discount', 'Profit' → Nombre décimal (choisir une des deux options ci-dessous)
⚠️ Option 1 : remplacer le '.' par ',' puis convertir. Pour cela :
clic droit sur la colonne souhaitée → "Remplacer les valeurs" → valeur à rechercher : mettez un point et dans Remplacer par : mettez
une virgule → OK. Vous pouvez maintenant convertir en choisissant Nombre décimal.
⚠️ Option 2 : utiliser "Utilisation des Paramètres régionaux" → Nombre décimal → États-Unis → OK
Types de données disponibles :
• Texte (ABC)
• Nombre décimal (1.23)
• Nombre entier (123)
• Date (01/01/2024)
• Date / Heure
• Pourcentage
• Vrai / Faux (booléen)
• Monétaire
Pourquoi c'est important de changer le type de données?
Mauvais type = calculs impossibles
Exemple : "Sales" en texte → impossible d'utiliser SUM()
Pour enregistrer vos modifications, cliquez sur fermer et appliquer.
⚠️ Cela peut prendre du temps si beaucoup de données!
Vous pouvez visualiser votre table sur la vue Table.
4• Enregistrer votre fichier : - Ficher → "Enregistrer sous" → "Parcourir cet appareil" → Choisissez l'emplacement du fichier (Eviter le bureau) → nommez le fichier 'superStrore.pbix' → Enregistrer.
La modélisation de données consiste à organiser et structurer vos tables
pour créer des relations logiques entre elles. C'est la FONDATION de votre
rapport Power BI, sans un bon modèle, vos analyses seront limitées ou incorrectes.
Pourquoi c'est important?
- Permet de croiser les données de différentes tables
- Améliore les performances de vos rapports
- Rend vos calculs DAX(partie détaillée plus bas) plus simples et puissants
- Facilite la maintenance et l'évolution
PARTIE 2 : Créer les tables dans Power Query
Pour aller sur le Power Query, cliquez sur "Transformer les données".
Dans cette partie nous allons trasformer SuperStore en plusieurs tables utiles pour la suite de cette formations.
Avant de commencer la création des tables, il est recommandé de créer une nouvelle colonne 'Localisation_ID' pour faciliter les relations pour la suite de la formation.
1 • Créer Localisation_ID :
• Sur la table SuperStrore, selectionner n'importe quelle colonne → aller sur "Ajouter une colonne" → Colonne Personnalisée → dans nouveau nom de la colonne : Localisation_ID et dans formule : [State] & "_" & [City] & "_" & [Postal_Code] → OK .2 • Créer Fact_Ventes :
• Sélectionnez la table "SuperStore". • Clic droit → Dupliquer. • Renommez la table → "Fact_Ventes". • Supprimez toutes les colonnes SAUF : Order_ID, OrderDate, Product_ID, Customer_ID, Localisation_ID, Sales, Quantity, Discount, Profit. Ces colonnes contiennent les mesures utilisées pour l’analyse. Pour supprimer des colonnes il existe deux méthodes, la meilleure méthode est celle de "Choisir les colonnes"(cf. l'image ci-dessous). une fenêtre s'ouvre pour choisir en cochant les colonnes à garder et en décochant celles à ne pas garder.
Sinon, la seconde méthode est de simplement faire un clic droit sur
la colonne → Supprimer la colonne.
3 • Créer Dim_Produits :
• Dupliquez la table "SuperStore". • Renommez-la → "Dim_Produits". • Supprimez toutes les colonnes SAUF : Product_ID, Product_Name, Category, Sub_Category • Sélectionnez la colonne Product_ID, Category, Sub_Category en maintenant la touche Ctrl appuyée. • Accueil → Supprimer les doublons.
4 • Créer Dim_Clients :
• Dupliquez la table "SuperStore". • Renommez-la → "Dim_Clients". • Conservez uniquement les colonnes : Customer_ID, Customer_Name, Segment • Supprimez les doublons sur l'ensemble des colonnes: Customer_ID et Segment. Résultat : 793 clients uniques.5 • Créer Dim_Commandes :
• Dupliquez la table "SuperStore". • Renommez-la → "Dim_Commandes". • Conservez uniquement les colonnes : Order_ID, OrderDate, ShipDate, Ship_Mode • Supprimez les doublons sur l'ensemble des colonnes: OrderDate, ShipDate et Ship_Mode.6 • Créer Dim_Regions :
• Dupliquez la table "SuperStore". • Renommez-la → "Dim_Regions". • Conservez uniquement les colonnes : Localisation_ID, Country, City, State, Postal_Code, Region • Supprimez les doublons.7 • Créer Dim_Dates : Choisissez l'option A
Option A : Avec Power Query • Nouvelle source → Requête vide. • Editeur Avancé.
Collez la formule : (sans les guillemets)
" let
StartDate = #date(2014,1,1),
EndDate = #date(2017,12,31),
Source = List.Dates(StartDate, Duration.Days(EndDate - StartDate)+1, #duration(1,0,0,0)),
ConvertToTable = Table.FromList(Source, Splitter.SplitByNothing(), {"Date"})
in
ConvertToTable "Cela crée une colonne de dates allant de 2014 à 2017. Cet intervalle a été choisi car toutes les dates présentes dans ce dataset se situent entre 2014 et 2017.
• Renomez en Year et Month.
• Renomez la table en 'Calendrier'.
8 • Fermer et appliquer
Cliquez sur "Fermer et appliquer" pour charger les tables dans le modèle Power BI.Dans Power BI, bien structurer votre modèle de données est crucial pour créer des rapports performants et faciles à maintenir. Il existe plusieurs approches pour organiser vos tables :
Ici, nous choisissons le schéma en étoile car il est simple, intuitif et très performant pour Power BI. Il facilite la création de mesures DAX et permet de gérer facilement les rapports même avec de gros volumes de données.
Dim_Clients
|
Dim_Produits - Fact_Ventes - Dim_Dates
|
Dim_Régions
TABLE DE FAITS (Fact Table) :
TABLES DE DIMENSIONS (Dimension Tables) :
Un-à-Plusieurs (1:*) - Le plus courant. Ex: Un client → Plusieurs commandes
- Côté "1" : Table de dimension (peu de lignes, valeurs uniques)
- Côté "*" : Table de faits (beaucoup de lignes, valeurs répétées)
Un-à-Un (1:1) - Rare. Ex: Une personne → Une carte d'identité
Plusieurs-à-Plusieurs (*:*) - Nécessite une table de liaison (table de jonction à voir dans le niveau avancé)
Unidirectionnelle (Single) : PAR DÉFAUT
- Le filtre va de la dimension vers les faits
- Exemple : Filtrer Dim_Produits filtre automatiquement Fact_Ventes
- Recommandé pour 99% des cas
Bidirectionnelle (Both) : ATTENTION ⚠️
- Le filtre va dans les deux sens
- Peut causer des problèmes de performance
- À utiliser seulement si vraiment nécessaire
MÉTHODE 1 : Automatique
1. Power BI détecte automatiquement les relations lors de l’import des données. 2. Vérifiez-les dans la vue Modèle. 3. Validez qu'elles sont correctes.
MÉTHODE 2 : Manuelle
1. Allez dans la Vue Modèle (icône sur le côté gauche). 2. Glissez-déposez un champ d'une table vers l'autre. Exemple : Glissez Product_ID de Fact_Ventes vers Product_ID de Dim_Produits. 3. Power BI crée la relation automatiquement. 4. Vérifiez la cardinalité (doit être 1:*).MÉTHODE 3 : Via le menu
1. Cliquez sur "Gérer les relations" dans la vue modèle ou la vue Table. 2. Cliquez sur "Nouvelle relation". 3. Sélectionnez les tables et les colonnes. 4. Vérifiez la cardinalité.
PARTIE 3 : Créer les relations (Vue Modèle)
Aller sur la Vue modèle afin de pouvoir créer les relations entre les différentes tables (troisième icone à gauche de la fenêtre).
Certaines relations sont créées automatiquement par Power BI. La relation peut être supprimé si elle n'est pas correcte ou si elle n'est pas nécessaire.
Vous pouvez glisser les tables et les positionner à l'endroit souhaité (Ex: table de fait au milieu et les tables de dimensions sont positionnées autour).
Avant de créer les relations ci-dessous: vérifiez qu'elles n'existent pas / vérifiez qu'il n y a pas d'erreur de cardinalité ou direction.
Vous pouvez vérifier une relation entre deux tables visuellement ou en cliquant sur la relation. Pour cette deuxième méthode, des informations concernant la relation s'affichent à droite de la fenêtre sur l'onglet 'Propriétés' (cf. l'image ci-après)
1• Relation Produits
• Glissez Product_ID de Dim_Produits • Déposez-le sur Product_ID de Fact_Ventes • Cardinalité : 1:* • Direction : Single (Dim_Produits -> Fact_Ventes)2• Relation Clients
• Glissez Customer_ID de Dim_Clients • Déposez-le sur Customer_ID de Fact_Ventes • Cardinalité : 1:* • Direction : Single (Dim_Clients -> Fact_Ventes)3• Relation Commandes
• Glissez Order_ID de Dim_Commandes • Déposez-le sur Order_ID de Fact_Ventes • Cardinalité : 1:* • Direction : Single (Dim_Commandes -> Fact_Ventes)4• Relation Régions
• Glissez Localisation_ID de Dim_Regions • Déposez-le sur Localisation_ID de Fact_Ventes • Cardinalité : 1:* • Direction : Single (Dim_Regions -> Fact_Ventes)5• Relation Dates
• Glissez Date de Dim_Dates • Déposez-le sur OrderDate de Fact_Ventes • Cardinalité : 1:* • Direction : SingleVoici le modèle finale:
Une fois les relations sont créées, vérifiez une dernière fois les relations
6• Vérifier les relations
• Toutes doivent être en 1:* (un-à-plusieurs) • Les flèches doivent aller de Dim (1) vers Fact (*) • Les lignes doivent être continues (relations actives)Votre modèle en étoile est maintenant créé !
DAX (Data Analysis Expressions) est le langage de formules de Power BI. Il permet de créer des calculs personnalisés et des agrégations complexes (Mesures, Colonnes, tables).
MESURES (Measures) – À privilégier
Caractéristiques :
• Se calculent à la volée lors de l'affichage du visuel • S'adaptent automatiquement aux filtres du rapport • Ne sont pas stockées dans le modèle • Icône dans Power BI, à gauche du nom dans l'onglet Données : (calculatrice) • Généralement plus performantesQuand utiliser une mesure :
• Calculs d'agrégation (SUM, AVERAGE, COUNT…) • Calculs qui changent selon les filtres • KPIs et indicateurs de performanceExemples :
• Total des ventes • Nombre de clients • Chiffre d'affaires moyen • Marge bénéficiaireCOLONNES CALCULÉES (Calculated Columns)
Caractéristiques :
• Se calculent lors du chargement des données • Stockées dans le modèle (augmentent la taille du fichier) • Une valeur par ligne de la table • Icône dans Power BI, toujours à gauche du nom dans l'onglet Données : fx • Généralement moins performantesQuand utiliser une colonne calculée :
• Si vous devez filtrer ou grouper sur le résultat • Si le calcul doit être fait ligne par ligne • S'il n'existe pas d'alternative dans Power QueryExemples :
• Catégorie d'âge à partir d'une date de naissance • Nom complet = Prénom + Nom • Marge unitaire = Profit / QuantityRègle d'or :
• Si vous pouvez le faire dans Power Query → faites-le là-bas • Si vous avez besoin d'un calcul d'agrégation → utilisez une mesureDans Power BI, il est recommandé de créer une table dédiée aux mesures. Cela permet d'organiser le modèle de données et de regrouper tous les indicateurs au même endroit. C'est une pratique courante dans les projets professionnels.
Créer une table pour les mesures :
• Accueil → Nouvelle Table • Créez une table vide sous le nom '_Mesures' (le '_' permet de remonter la table en haut du modèle) • Vous pouvez ensuite créer toutes vos mesures dans cette table
Création des mesures :
MÉTHODE 1 : Via le ruban
1. Sélectionnez la table où créer la mesure (par exemple la table _Mesures) 2. Onglet Modélisation → Nouvelle mesure 3. La barre de formule apparaît 4. Écrivez votre formule DAX 5. Appuyez sur Entrée pour valider
MÉTHODE 2 : Clic droit
1. Clic droit sur la table (dans le volet Données) 2. Cliquez sur Nouvelle mesure 3. Écrivez votre formule
MÉTHODE 3 : Raccourci clavier
Alt + Shift + MSyntaxe d'une mesure :
Nom_Mesure = FONCTION(arguments)
Exemple :
Total_Ventes = SUM(Fact_Ventes[Sales])
Fonctions d'agrégation
• SUM : Somme Total_Ventes = SUM(Fact_Ventes[Sales]) → Additionne toutes les ventes • AVERAGE : Moyenne Panier_Moyen = AVERAGE(Fact_Ventes[Sales]) → Moyenne des ventes par transaction • COUNT : Compter (nombres) Nombre_Transactions = COUNT(Fact_Ventes[Order_ID]) → Compte les cellules contenant des nombres • COUNTA : Compter (non vides) Lignes_Totales = COUNTA(Fact_Ventes[Order_ID]) → Compte toutes les cellules non vides • COUNTROWS : Compter les lignes Nombre_Lignes = COUNTROWS(Fact_Ventes) → Compte toutes les lignes de la table • DISTINCTCOUNT : Compter valeurs uniques Nombre_Clients = DISTINCTCOUNT(Fact_Ventes[Customer_ID]) → Compte les clients uniques • MIN : Minimum Vente_Min = MIN(Fact_Ventes[Sales]) → Plus petite valeur • MAX : Maximum Vente_Max = MAX(Fact_Ventes[Sales]) → Plus grande valeurFonctions mathématiques
• DIVIDE : Division sécurisée Marge = DIVIDE(SUM(Fact_Ventes[Profit]), SUM(Fact_Ventes[Sales])) → Gère automatiquement la division par 0 • DIVIDE avec valeur alternative Marge = DIVIDE(SUM(Fact_Ventes[Profit]), SUM(Fact_Ventes[Sales]), 0) → Retourne 0 si la division est impossible • ABS : Valeur absolue Ecart_Absolu = ABS([Réel] - [Budget]) • ROUND : Arrondir Prix_Arrondi = ROUND(SUM(Fact_Ventes[Sales]), 2) → Arrondit à 2 décimalesFonctions de dates
• YEAR, MONTH, DAY Année = YEAR(Fact_Ventes[OrderDate]) → À utiliser plutôt en colonne calculée • TODAY : Date du jour Aujourdhui = TODAY() • DATEDIFF : Différence entre deux dates Delai = DATEDIFF(Fact_Ventes[OrderDate], Fact_Ventes[ShipDate], DAY) → Nombre de jours entre deux datesFonctions texte
• CONCATENATE ou & Nom_Complet = [Prénom] & " " & [Nom] • UPPER : Majuscules Ville_MAJ = UPPER(Dim_Localisation[City]) • LOWER : Minuscules Email = LOWER([Email]) • LEFT : Premiers caractères Code = LEFT(Dim_Produits[Product_ID], 3)CALCULATE : est La fonction la plus importante de DAX
CALCULATE permet de modifier le contexte de calcul.
C’est la fonction la plus puissante et la plus utilisée en DAX.
Syntaxe :
CALCULATE(
Expression,
Filtre1,
Filtre2,
...
)
Exemples
1• Ventes 2024
Ventes_2024 = CALCULATE(SUM(Fact_Ventes[Sales]), Dim_Dates[Year] = 2024) → Somme des ventes uniquement pour 20242• Ventes Furniture
Ventes_Furniture = CALCULATE(SUM(Fact_Ventes[Sales]), Dim_Produits[Category] = "Furniture") → Ventes de la catégorie Furniture uniquement3• Ventes Furniture 2024
Ventes_Furniture_2024 = CALCULATE(SUM(Fact_Ventes[Sales]), Dim_Produits[Category] = "Furniture", Dim_Dates[Year] = 2024) → Combinaison de plusieurs filtres4• Clients avec remise
Clients_Avec_Remise = CALCULATE(DISTINCTCOUNT(Fact_Ventes[Customer_ID]), Fact_Ventes[Discount] > 0) → Nombre de clients ayant bénéficié d'une remiseÀ retenir :
• CALCULATE modifie le contexte de filtre • Permet d'appliquer des conditions à vos calculs • Utilisé dans la majorité des mesures avancées⚠️ Important :
• Les filtres doivent être écrits sous forme de conditions (ex: Colonne = Valeur) • CALCULATE fonctionne uniquement avec des mesures ou des agrégationsÀ savoir :
• Dans la pratique, environ 80% des mesures avancées utilisent CALCULATEPour bien comprendre la fonction Calculate, il est essentiel de comprendre comment fonctionne le contexte en DAX.
DAX fonctionne avec 2 types de contextes :
Contexte de ligne (Row Context)
• S'applique ligne par ligne • Utilisé principalement dans les colonnes calculées • Lit la valeur de chaque ligne individuellementExemple :
Profit_Unitaire = Fact_Ventes[Profit] / Fact_Ventes[Quantity] → Pour chaque ligne : division du Profit par la QuantityContexte de filtre (Filter Context)
• S'applique à l'ensemble des données • Utilisé dans les mesures • Dépend des filtres actifs (segments, visuels, slicers... ces visuels sont à voir dans la partie Visualisation)Exemple :
Total_Ventes = SUM(Fact_Ventes[Sales]) → Le résultat change selon les filtres appliqués : • Si filtre = "Furniture" → ventes Furniture uniquement • Si filtre = "2024" → ventes 2024 uniquementÀ retenir :
• Les colonnes calculées utilisent le contexte de ligne • Les mesures utilisent le contexte de filtre • C'est pour cela que les mesures sont dynamiquesAprès avoir compris le contexte en DAX, nous allons maintenant voir comment ajouter de la logique conditionnelle dans vos calculs.
IF : Condition
Statut_Vente =IF imbriqués :
Catégorie_Vente =SWITCH : Conditions multiples (plus lisible)
Niveau =AND : ET logique
Ventes_Premium =OR : OU logique
Ventes_Cotes =NOT : Négation
Ventes_Sans_Remise =À retenir :
• IF permet de créer des conditions simples • SWITCH est plus lisible pour plusieurs conditions • AND / OR / NOT permettent de combiner des filtres dans CALCULATEAprès avoir vu les fonctions logiques, nous allons maintenant découvrir des fonctions plus avancées qui permettent d'effectuer des calculs ligne par ligne : les fonctions d'itération.
Principe
• Les fonctions avec X (SUMX, AVERAGEX...) itèrent sur chaque ligne d'une table • Elles permettent de faire un calcul personnalisé avant d'agréger le résultatSUMX : Somme avec calcul par ligne
Total_Revenue =AVERAGEX : Moyenne avec calcul par ligne
Marge_Moyenne =COUNTX : Compter avec condition
Ventes_Positives =MAXX / MINX : Maximum / Minimum avec calcul
Marge_Max =Différence avec les fonctions classiques
SUM(Fact_Ventes[Sales]) → Additionne directement une colonneÀ retenir :
• Les fonctions X permettent des calculs plus flexibles • Elles sont utilisées quand une simple agrégation ne suffit pas • Elles combinent contexte de ligne + agrégationAprès avoir vu les fonctions d’itération, il est souvent nécessaire de filtrer certaines lignes avant d’agréger les données. C’est là qu’intervient la fonction FILTER.
Principe
• FILTER permet de sélectionner les lignes d'une table qui respectent une condition • La syntaxe : FILTER(Table, Condition)Exemple 1 : Ventes High Value
Ventes_High =Exemple 2 : Clients Actifs 2024
Clients_Actifs_2024 =Exemple 3 : Plusieurs conditions
Ventes_Furniture_Premium =À retenir :
• FILTER est utile pour créer des conditions complexes ligne par ligne • Sur de grandes tables, cela peut être lent, préfèrez CALCULATE avec des filtres simples si possibleMaintenant que nous avons vu comment filtrer les données avec FILTER, il est souvent nécessaire de récupérer des valeurs dans des tables liées : c’est là que les fonctions RELATED et RELATEDTABLE interviennent.
RELATED : Aller chercher une valeur dans une table liée
• Utilisée dans les colonnes calculées (contexte de ligne) • Relation Many → One (de la table de faits vers la table de dimension)Exemples dans Fact_Ventes :
Catégorie = RELATED(Dim_Produits[Category])RELATEDTABLE : Aller chercher toutes les lignes liées dans une autre table
• Utilisée généralement dans les mesures • Relation One → Many (de la table de dimension vers la table de faits)Exemples dans Dim_Produits :
Ventes_Ce_Produit =À retenir :
• RELATED suit les relations du modèle • Si aucune relation n’existe → erreurSur cette partie, nous allons découvrir comment rendre vos formules plus claires et performantes grâce aux variables DAX.
Principe
• Les variables permettent de stocker temporairement des résultats intermédiaires • Elles rendent le code plus lisible et évitent de recalculer plusieurs fois la même expressionSyntaxe générale
Mesure =Exemples
Marge_Pct =À retenir :
• Code plus lisible et facile à maintenir • Performance améliorée : le calcul est fait une seule fois • Utile pour le débogage et pour éviter la répétition • Utilisez VAR dès que vous répétez un calcul dans une mesurePassons maintenant auxfonctions d'intelligence temporelle pour analyser les tendances dans le temps.
⚠️ Prérequis : Une table Calendrier est obligatoire pour toutes ces fonctions(à créer par l'utilisateur sur power query ou directement sur DAX).
DATESYTD : Cumul année en cours (Year To Date)
Ventes_YTD =DATESMTD : Cumul mois en cours (Month To Date)
Ventes_MTD =SAMEPERIODLASTYEAR : Même période année dernière
Ventes_N-1 =DATEADD : Décaler dans le temps
Ventes_Mois_Dernier =PARALLELPERIOD : Période parallèle
Ventes_Année_Dernière =Croissance Year-over-Year
Croissance_YoY =Variation pourcentage
Var_Pct =À retenir :
• Les fonctions de Time Intelligence permettent d’analyser des tendances et des comparaisons temporelles • Toujours utiliser une table Calendrier complète et continue • Combinez avec CALCULATE pour créer des mesures dynamiquesAprès avoir vu les fonctions de Time Intelligence, nous allons maintenant découvrir des fonctions pour modifier ou ignorer les filtres dans vos mesures DAX.
ALL : Ignorer tous les filtres
Total_Global =Exemple : Part de marché
Part_Marché =ALLEXCEPT : Ignorer tous les filtres sauf...
Ventes_Par_Catégorie =ALLSELECTED : Ignorer les filtres visuels mais garder les segments
Total_Visible =Exemple : Pourcentage du total
Pct_Total =À retenir :
• Ces fonctions permettent de contrôler finement l'effet des filtres • ALL = Ignore tous les filtres • ALLEXCEPT = Ignore tous sauf les colonnes spécifiées • ALLSELECTED = Ignore les filtres visuels mais respecte la sélection globalePARTIE 4 :
Après avoir exploré les fonctions DAX avancées, nous allons maintenant créer des KPIs de base et des mesures pratiques pour analyser vos données Superstore.
Pour créer vos mesures, choisissez une des méthodes vues plus haut.
Créez toutes vos mesures sur la table '_Mesures'
Vous pouvez placer vos mesures dans des dossiers (KPIs de base, analyses temporelles...).
Pour cela, allez sur la 'vue Modèle' →
Sélectionnez votre mesure → dans l'onglet 'Propriétés',
saisissez le nom du dossier souhaité sur 'Afficher le dossier'.(cf. l'image ci-dessous)
C'est à vous 🙂:
KPIs DE BASE
Total_Ventes = SUM(Fact_Ventes[Sales]) Total_Profit = SUM(Fact_Ventes[Profit]) Nombre_Commandes = DISTINCTCOUNT(Fact_Ventes[Order_ID]) Nombre_Clients = DISTINCTCOUNT(Fact_Ventes[Customer_ID]) Quantité_Totale = SUM(Fact_Ventes[Quantity]) Panier_Moyen = DIVIDE([Total_Ventes], [Nombre_Commandes]) Marge_Bénéficiaire = DIVIDE([Total_Profit], [Total_Ventes])Analyses Temporelles
Ventes_Année_Dernière =Top Performers
Top_10_Produits =Segments et Filtres
Ventes_Avec_Remise = CALCULATE([Total_Ventes], Fact_Ventes[Discount] > 0) Part_Remise = DIVIDE([Ventes_Avec_Remise], [Total_Ventes])Analyses Profitabilité
Profit_par_Commande = DIVIDE([Total_Profit], [Nombre_Commandes]) ROI = DIVIDE([Total_Profit], [Total_Ventes] - [Total_Profit]) Perte_Totale = CALCULATE(SUM(Fact_Ventes[Profit]), Fact_Ventes[Profit] < 0)Voici la table '_Mesures' :
Définition
Une visualisation (ou "visuel") transforme tes données en graphiques interactifs pour faciliter la compréhension, l'analyse et la prise de décision.Types de visuels dans Power BI
• Graphiques : barres, lignes, secteurs... • Cartes : KPI, indicateurs, nombres clés • Tableaux et matrices • Cartes géographiques • Jauges et indicateurs • Et bien plus...Maintenant que vous savez ce qu'est une visualisation, voyons comment elle est construite. Chaque visuel Power BI possède des zones (buckets) dans lesquelles vous devez glisser vos champs.
Zones principales
• AXE (X Axis) : ce qui apparaît sur l’axe horizontal → Généralement des catégories, dates ou dimensions → Exemples : catégories de produits, mois, régions
Graphique en barres (Bar Chart)
Quand l’utiliser : • Comparer des catégories • Montrer des classements (Top 10...) • Comparer un nombre limité de valeurs Configuration : • Axe Y : Catégorie • Axe X : Valeur (mesure) • Légende : optionnelleGraphique en lignes (Line Chart)
Quand l’utiliser : • Montrer des tendances dans le temps • Visualiser des évolutions temporelles Configuration : • Axe X : Date • Axe Y : Valeur • Légende : comparaison de séries • Toujours utiliser pour le tempsGraphique en secteurs (Pie Chart)
Quand l’utiliser : • Montrer des proportions • Maximum 5 à 6 catégories À éviter : • Trop de catégories • Comparaisons précisesCarte (Card)
Quand l’utiliser : • Afficher un KPI clé • Mettre en avant un chiffre important • Idéal pour les tableaux de bordGraphique en colonnes (Column Chart)
• Similaire au graphique en barres mais vertical • Souvent utilisé pour les données temporellesTableau (Table)
Quand l’utiliser : • Voir les données détaillées • Affichage ligne par ligne • Évitez les tableaux trop longsMatrice (Matrix)
• Tableau croisé dynamique • Analyse multi-dimensionnelle • Totaux et sous-totaux automatiquesCarte géographique (Map)
• Analyse des données géographiques • Répartition par zonesJauge (Gauge)
• Comparer à un objectif • Visualiser une progressionGraphique en aires (Area Chart)
• Évolution dans le temps avec volume • Mise en évidence des accumulationsGraphique en entonnoir (Funnel)
• Analyse des étapes d’un processus • Visualisation des conversionsGraphique en cascade (Waterfall)
• Analyse des variations • Contributions positives et négativesGraphique combiné (Combo Chart)
• Combiner colonnes + lignes • Comparer deux métriques différentesPARTIE 5 :
Après avoir vu les différents types de visuels, passons à la pratique en créant un graphique étape par étape, puis en apprenant à le personnaliser.
Exemple : Graphique en barres des ventes par catégorie
Étape 1 : Ajouter le visuel • Cliquez sur un espace vide du canevas • Dans le volet "Visualisations", cliquez sur "Graphique à barres empilées" • Un visuel vide apparaîtExercice
• Filtrer toute la page : Année = 2017 • Carte : afficher Total_Ventes • Graphique en lignes : ventes mensuelles • Graphique en secteurs : répartition par segment
Principales options
pour les visuels (si vous en sélectionner un par exemple)
• Titre → Texte, taille, couleur, alignement • Arrière-plan → Couleur et transparence • Bordure → Couleur, activation, coins arrondis • Axes → Titres, étiquettes, grille • Couleurs de données → Couleurs personnalisées ou conditionnelles • Étiquettes de données → Afficher les valeurs sur le graphique • Info-bulles → Ajouter des informations au survolExemple de formatage :
• Taille et style : Arrière plan (couleur #E6E6E6 et transparence à 70%) • Titre : "Ventes par Catégorie" • Taille : 16 | Couleur : #000000 | Gras : ON (en cliquant sur 'B') • Axe Y : désactivez le titre • Axe X : désactivez le titre | dans valeurs, Unité d'affichage : 'Millions' • Quadrillage : Désactiver • Barre : changez la couleur des barres en #12239E • Etiquettes de données : Activer
Formatez le reste de visuels pour qu'ils soient dans la même palette de couleur
Après avoir créé et formaté vos visuels, il est important de comprendre qu’ils interagissent automatiquement entre eux dans Power BI.
Comportement par défaut
• Lorsque vous cliquez sur un élément (barre, point, secteur...) • Les autres visuels se filtrent automatiquementExemple :
• Visuel 1 : Ventes par catégorie • Visuel 2 : Ventes par mois • Visuel 3 : Ventes par segement • Visuel 4 : Carte Total Ventes → Si vous cliquez sur "Furniture" : → Le visuel 2 et 3 affiche uniquement les ventes Furniture → Le visuel 4 affiche le total Furniture
Modifier les interactions
• Sélectionnez le visuel source (celui sur lequel vous cliquez) • Allez dans Format → Modifier les interactions • Des icônes apparaissent sur les autres visuels
Exemple d’usage (dashboard)
• KPIs (cartes en haut) → Aucune interaction (valeurs globales). Mais attention ça dépend du besoin!! • Graphiques → Filtrent entre eux • Segments (slicers) → Filtrent tout le rapport (également selon le besoin)Remarque:
La modification des interactions dépend avant tout du besoin. L'exemple donné ci-dessus n'est pas une règle à suivre absolument à la lettre.Après avoir vu les interactions entre visuels, découvrons maintenant les segments, qui permettent de filtrer vos données de manière interactive.
Définition
• Les segments sont des filtres visuels interactifs • Ils permettent à l’utilisateur de filtrer les données en un clicCréer un segment
• Sélectionnez le visuel Segment • Glissez une dimension (ex: Category, Region, Year) • Le segment affiche toutes les valeurs disponibles • L’utilisateur peut sélectionner pour filtrerVoici un exemple d'un segment par Région : (j'ai opté pour un segment simple, vous pouvez choisir un autre segment)
Types de segments
Liste (par défaut) • Cases à cocher • Sélection multiple possibleFormater un segment
• Volet Format (via le pinceau) → Paramètres du segment • Style : Liste / Déroulant / Tuiles ... (selon le type de la variable) • Orientation : Verticale / Horizontale • Sélection : Unique / Multiple • "Tout sélectionner" : ON/OFF • Recherche : activer la barrePour un segment Région, Voici les options dsponibles :
Style visuel :
• Taille et style : activez la bordure visuelle et mettez sa couleur à #12239E
• Titre : Région | Diviseur (ON)
• Paramètres du segment : Style (Liste déroulante) | dans Sélection désactivez le 'Multisélection avec Ctrl' et activez le 'Afficher l'option Tout sélectionner'
• En-tête de segment : OFF
Segments synchronisés
• Permettent de filtrer plusieurs pages avec le même segment • Affichage → Synchroniser les segments • Sélectionnez les pages à synchroniser
Bonnes pratiques
• Placez les segments en haut ou à gauche • Gardez la même position sur toutes les pages • Utilisez la synchronisation pour cohérence • Ajoutez "Tout sélectionner" pour faciliter la réinitialisationAprès avoir vu les segments, découvrons maintenant deux fonctionnalités très puissantes pour explorer les données en profondeur : le Drill Down et le Drill Through.
Drill Down : Explorer une hiérarchie
• Permet de descendre dans les niveaux de détail dans un même visuel • Fonctionne avec des hiérarchiesExemple :
• Hiérarchie de dates: Year → Quarter → Month → Day • Hiérarchie de catégorie: Category → Sub_CategoryComment créer une hiérarchie ?
Il existe deux méthodes, je vous en présente une des deux qui permet de pouvoir les utiliser même dans des segments(slicer)/
• dans l'onglet Données : choisissez le champs à mettre en tête d'hiérarchie (exemple 'Category' de la table Dim_Category) • cliquer sur les trois petits points à droite du champs -> Créer une hiérarchie
Une nouvelle hiérarchie se crée sous le nom 'Category Hiérachie'
avec un petit symbôle à gauche du nom indiquant que c'est bien une hiérarchie
• Allez sur le champs 'Sub_category' de la même table ->
Cliquez sur trois petits points -> Ajouter à la Hiérarchie -> 'Category Hiérarchie'.
Le champs donc s'ajoute en dessous de Category dans l'hiérarchie
Configuration :
• Ajoutez Year, puis Quarter, puis Month dans l’axe • Ajoutez une mesure (ex: Total_Ventes)Utilisation :
• Cliquez sur une année (ex: 2017) • Le visuel affiche les trimestres • Cliquez sur un trimestre (ex: Q1) • Le visuel affiche les mois correspondants
À retenir :
• Idéal pour explorer des données temporelles ou hiérarchiquesDrill Through : Aller vers une page détaillée
• Permet de naviguer vers une page de détails • Le contexte (filtre) est transmis automatiquementExemple :
• Page 1 : Vue d’ensemble des ventes • Page 2 : Détails d’un produitConfiguration :
Créer une nouvelle page: vous donnerez le nom 'Détails produtis' Sur la page de détails : • Volet Format → section (ou Type de page) "Extraire"
• Glissez le champ (ex: Category)
• Activez "Garder tous les filtres"
(ceci est optionnel, dans vos futures projets vous le parametrez selon le besoin)
Vous pouvez ajouter maintenant vos visuels,
commencez par ajouter un tableau détaillant les produits vendus. Cela vous permettra de tester votre page.
• La page 'Détails produits' s'ouvre alors. Pour revenir à la page principale, vous pouvez cliquez sur le bouton
"Précédent" disponible automatiquement en haut à gauche de la page
À retenir :
• Drill Down = navigation dans un visuel • Drill Through = navigation entre pagesCes exercices permettent de mettre en pratique toutes les compétences vues dans ce module : création de visuels, interactions, segments, drill through et formatage professionnel.
EXERCICE 1 : Dashboard Vue d'Ensemble
Crée une page "Overview" avec :EXERCICE 2 : Analyse par Segment
Page "Segments" :EXERCICE 3 : Drill Through Produit
Page 1 : "Products" • Tableau avec tous les produits et leurs ventesEXERCICE 4 : Formatage Pro
Reprends ta page Overview et formate :Résultat attendu :
• Dashboard professionnel et cohérent