Mise en pratique DAX
Objectif et fichiers
- Objectif : mettre en œuvre les notions de la sous-partie « Calculer avec DAX » sur un même modèle de ventes, du calcul d'un chiffre d'affaires jusqu'aux classements, aux objectifs sans relation et aux titres dynamiques.
- Organisation : 8 thèmes, 41 questions. Chaque thème correspond à un fichier PBIP « énoncé » que vous ouvrez dans Power BI Desktop.
- Durée : [À compléter par le formateur : durée indicative par thème]
- Niveau : de découverte (thème 1) à avancé (thèmes 4 et 5) [niveaux proposés, à valider par le formateur].
- Prérequis : avoir lu les pages notions indiquées pour chaque thème.
- Fichiers à télécharger : un PBIP compressé par thème, joint au début de chaque thème ci-dessous. Décompressez le dossier, puis ouvrez le fichier
.pbip.
Contexte métier
Vous travaillez pour un distributeur de vélos, de composants, de vêtements et d'accessoires, qui vend dans six pays. Le modèle sémantique des exercices est le même pour tous les thèmes :
- Ventes : 1 582 lignes et 784 commandes sur 2024 et 2025 (numéro de commande, date de commande, date de livraison, client, produit, pays, quantité, taux de remise, montant remisé) ;
- Produit : produit, couleur, catégorie, prix unitaire catalogue et coût unitaire ;
- Client : client, segment (Particulier, Entreprise), pays, ville et date d'inscription ;
- Geographie : pays et continent ;
- Calendrier : table de dates marquée (année, trimestre, mois), reliée à Ventes[Date] par une relation active et à Ventes[DateLivraison] par une relation inactive ;
- Objectifs : objectif mensuel par pays, daté du 1er du mois, sans relation avec le reste du modèle.
Consignes
Pour chaque thème, procédez de la même façon :
- Ouvrez le PBIP énoncé du thème : une page de rapport par question, avec l'énoncé, un indice et le résultat attendu.
- Créez vos mesures dans la table Ventes ; les mesures déjà fournies sont rangées dans le dossier
0. Mesures fournies. - Glissez chaque mesure dans le visuel central de la page de la question.
- Comparez votre résultat aux chiffres de contrôle, puis utilisez les segments à droite de la page pour vérifier que la mesure réagit aux filtres.
Thème 1 | Mesures de base et ratios
- Pages notions : Découvrir DAX, Itérateurs et variables, DAX et relations (RELATED).
- Mesures fournies : aucune, vous partez de zéro.
Question 1.1 | CA, quantité et commandes
- Créez trois mesures : le chiffre d'affaires (somme des montants), la quantité vendue et le nombre de commandes.
- Attention : une commande peut contenir plusieurs lignes.
- Indice : SUM pour les deux premières, DISTINCTCOUNT sur le numéro de commande pour la troisième.
- Résultat attendu :
- Total : CA 1 073 897,36, quantité 3 909, 784 commandes.
- Ligne Vélos : CA 730 882,13, 341 commandes.
Question 1.2 | Panier moyen
- Calculez le panier moyen : chiffre d'affaires moyen par commande.
- Indice : réutilisez vos mesures CA et Nb commandes, et divisez avec DIVIDE.
- Résultat attendu :
- Total : 1 369,77.
- France : 1 378,31.
Question 1.3 | Prix moyen pondéré
- Calculez le prix moyen de vente pondéré par les quantités (chiffre d'affaires divisé par la quantité).
- Indice : ne faites pas la moyenne de la colonne PrixUnitaire : un vélo vendu 10 fois doit compter 10 fois.
- Résultat attendu :
- Total : 274,72.
- Vêtements : 50,01.
Question 1.4 | Marge et taux de marge
- Calculez le coût des ventes (quantité x coût unitaire du produit), la marge et le taux de marge.
- Indice : le coût unitaire est dans la table Produit : il faut un itérateur sur Ventes et RELATED.
- Résultat attendu :
- Total : marge 407 386,33, taux 37,94 %.
- Vélos : taux de marge 37,01 %.
Question 1.5 | Clients et CA par client
- Comptez les clients distincts qui ont acheté, puis calculez le CA moyen par client.
- Indice : DISTINCTCOUNT sur la colonne ClientID de Ventes (et non COUNTROWS de la table Client).
- Résultat attendu :
- Total : 130 clients, 8 260,75 par client.
- Entreprise : 26 clients, 16 840,58 par client.
Question 1.6 | Taux de remise moyen
- Calculez le CA brut (quantité x prix catalogue) puis le taux de remise moyen : part du CA brut abandonnée en remises.
- Indice : Taux = ( CA brut - CA ) / CA brut. Le prix catalogue est dans Produit.
- Résultat attendu :
- Total : 3,25 %.
- France : 2,88 %.
Thème 2 | Comparaisons dans le temps
- Pages notions : Time intelligence.
- Mesures fournies : déjà présentes dans le PBIP énoncé.
CA = SUM ( Ventes[Montant] )Question 2.1 | CA N-1 et évolution
- Calculez le CA de l'année précédente pour la même période, puis le pourcentage d'évolution.
- Indice : SAMEPERIODLASTYEAR dans CALCULATE ; DIVIDE pour le pourcentage.
- Résultat attendu :
- Ligne 2025 : CA N-1 528 326,80, évolution 3,26 %.
- Mars 2025 : CA N-1 37 238,29.
Question 2.2 | Cumul annuel
- Calculez le cumul depuis le 1er janvier (YTD), puis le cumul de l'année précédente à la même date.
- Indice : TOTALYTD pour le cumul ; pour N-1, appliquez SAMEPERIODLASTYEAR à votre mesure de cumul.
- Résultat attendu :
- Juin 2025 : cumul 282 555,63, cumul N-1 274 821,22.
Question 2.3 | Mois précédent
- Calculez le CA du mois précédent, puis l'écart avec le mois en cours (vide s'il n'y a pas de mois précédent).
- Indice : DATEADD avec -1 et MONTH ; testez ISBLANK pour l'écart.
- Résultat attendu :
- Mars 2025 : CA M-1 39 953,41, écart 2 303,09.
- Janvier 2024 : CA M-1 et écart vides.
Question 2.4 | Moyenne mobile 3 mois
- Calculez la moyenne mobile sur 3 mois : CA des 3 derniers mois (mois en cours inclus) divisé par 3.
- Indice : DATESINPERIOD à partir de MAX ( Calendrier[Date] ), sur -3 mois.
- Résultat attendu :
- Mars 2025 : 42 737,24.
- Janvier 2025 (inclut novembre et décembre 2024) : 40 788,55.
Question 2.5 | 12 mois glissants
- Calculez le CA des 12 derniers mois glissants à la fin de chaque mois.
- Indice : même principe que la moyenne mobile, avec -12 mois.
- Résultat attendu :
- Juin 2025 : 536 061,21 (juillet 2024 à juin 2025).
- Ligne 2025 : 545 570,56.
Question 2.6 | Meilleur mois
- Pour chaque année, affichez le nom du meilleur mois et son CA.
- Indice : MAXX sur VALUES ( Calendrier[Mois] ) pour le montant ; TOPN ( 1, ... ) pour retrouver le nom.
- Résultat attendu :
- 2025 : juillet, 81 752,10.
- 2024 : juin, 59 290,67.
Thème 3 | Parts et contributions
- Pages notions : Contextes de ligne et de filtre, Fonctions de filtre.
- Mesures fournies : déjà présentes dans le PBIP énoncé.
CA = SUM ( Ventes[Montant] )Question 3.1 | Part du total général
- Calculez la part de chaque produit dans le CA total, tous produits confondus, même si un segment de catégorie est utilisé.
- Indice : le dénominateur ignore les filtres sur la table Produit : ALL ( Produit ).
- Résultat attendu :
- Vélo route rouge : 6,78 %.
- Ligne Vélos : 68,06 %.
Question 3.2 | Part du total affiché
- Calculez la part dans le total affiché : le total doit toujours faire 100 %, même avec le segment Catégorie.
- Indice : ALLSELECTED garde les filtres des segments et retire ceux de la vignette.
- Résultat attendu :
- Sans segment : identique à la question 1 (Vélo route rouge : 6,78 %).
- Segment Catégorie = Vélos : Vélo route rouge 9,96 %.
Question 3.3 | Part dans la catégorie
- Calculez la part de chaque produit dans sa catégorie.
- Indice : le dénominateur garde seulement le filtre sur la catégorie : ALLEXCEPT.
- Résultat attendu :
- Casque rouge : 8,45 % des Accessoires.
- Chaque ligne de catégorie : 100 %.
Question 3.4 | Contribution à la croissance
- Calculez l'écart de CA 2025 vs 2024, puis la contribution de chaque pays à l'écart total.
- Indice : Écart = CA 2025 - CA 2024 (filtres sur Calendrier[Annee]). Contribution = écart du pays / écart de tous les pays.
- Résultat attendu :
- Écart total : 17 243,76.
- France : écart 22 745,07, contribution 131,90 %.
Question 3.5 | Pareto 80/20
- Calculez le CA cumulé des produits triés du plus vendu au moins vendu, son pourcentage, puis une classe : A jusqu'à 80 %, B au-delà.
- Indice : pour un produit, additionnez le CA de tous les produits qui ont un CA supérieur ou égal (ADDCOLUMNS, FILTER, SUMX).
- Résultat attendu :
- Produit n° 1 (Vélo ville jaune) : 20,42 % cumulé.
- 8 produits sur 24 sont en classe A.
Thème 4 | Classements et Top N
- Pages notions : Itérateurs et variables (RANKX), Fonctions de table (TOPN), Fonctions de fenêtre.
- Mesures fournies : déjà présentes dans le PBIP énoncé.
- Table fournie : ParamTopN (GENERATESERIES de 1 à 10, paramètre du Top N).
- Table fournie : ProduitsAutres (liste des produits plus une ligne « Autres », sans relation).
CA = SUM ( Ventes[Montant] )Question 4.1 | Rang des produits
- Calculez le rang de chaque produit selon son CA (1 = meilleur). Le total ne doit pas afficher de rang.
- Indice : RANKX sur ALL ( Produit[Produit] ) ; HASONEVALUE pour masquer le total.
- Résultat attendu :
- Rang 1 : Vélo ville jaune ; rang 2 : Vélo ville bleu.
- Casque rouge : rang 24.
Question 4.2 | Rang dans la catégorie
- Calculez le rang de chaque produit à l'intérieur de sa catégorie.
- Indice : la table de RANKX doit contenir les produits de la même catégorie : CALCULATETABLE avec ALLEXCEPT.
- Résultat attendu :
- Accessoires : 1er Sacoche, 2e Casque blanc.
Question 4.3 | CA des 3 meilleurs produits
- Pour chaque pays, calculez le CA réalisé par ses 3 meilleurs produits.
- Indice : TOPN ( 3, VALUES ( Produit[Produit] ), [CA] ) renvoie une table : itérez dessus avec SUMX.
- Résultat attendu :
- France : 145 881,07.
- Total : 506 905,80.
Question 4.4 | Top N dynamique
- La table ParamTopN (1 à 10) est fournie. Affichez le CA seulement pour les N meilleurs produits, N étant choisi dans le segment (5 par défaut).
- Indice : SELECTEDVALUE ( ParamTopN[Value], 5 ) pour lire N ; RANKX sur ALLSELECTED pour le rang.
- Résultat attendu :
- N = 5 : Vélo ville jaune, Vélo ville bleu, Vélo route noir, VTT noir, Vélo route rouge.
- Les autres produits disparaissent de la matrice (valeur vide).
Question 4.5 | Meilleur produit par pays
- Affichez le nom du meilleur produit de chaque pays.
- Indice : TOPN ( 1, ... ) renvoie une ligne ; MAXX permet d'en lire le nom.
- Résultat attendu :
- France : Vélo ville jaune.
- Total : Vélo ville jaune.
Question 4.6 | Top 5 et Autres
- La table ProduitsAutres (produits + une ligne « Autres ») est fournie. Affichez le CA des 5 meilleurs produits, et le reste regroupé sur la ligne Autres.
- Indice : lisez la ligne avec SELECTEDVALUE ; calculez le top 5 avec TOPN ; EXCEPT donne les produits hors top 5.
- Résultat attendu :
- Autres : 408 795,45.
- Total : 1 073 897,36.
Thème 5 | Analyse clients
- Pages notions : CALCULATE et transition de contexte, Fonctions de table (EXCEPT).
- Mesures fournies : déjà présentes dans le PBIP énoncé.
CA = SUM ( Ventes[Montant] )
Nb commandes = DISTINCTCOUNT ( Ventes[NumCommande] )Question 5.1 | Clients actifs
- Comptez les clients actifs : clients ayant passé au moins une commande sur la période.
- Indice : DISTINCTCOUNT sur Ventes[ClientID].
- Résultat attendu :
- 2025 : 111 clients ; mars 2025 : 29.
- Total : 130.
Question 5.2 | Nouveaux clients
- Comptez les nouveaux clients : clients dont la toute première commande a lieu dans la période affichée.
- Indice : pour chaque client actif (VALUES), calculez sa première date d'achat en ignorant le calendrier (ALL), puis comparez au début de la période.
- Résultat attendu :
- 2025 : 23 ; mars 2025 : 1.
- 2024 : tous les clients actifs sont nouveaux (pas de données avant).
Question 5.3 | Clients perdus
- Comptez les clients perdus : clients ayant acheté l'année précédente mais aucune fois dans la période.
- Indice : liste des clients de N-1 (CALCULATETABLE + DATEADD), moins la liste des clients actuels (EXCEPT).
- Résultat attendu :
- 2025 : 19 clients perdus.
- 2024 : vide (pas de données 2023).
Question 5.4 | Fréquence d'achat
- Calculez la fréquence d'achat : nombre moyen de commandes par client actif.
- Indice : Nb commandes divisé par le nombre de clients distincts.
- Résultat attendu :
- Total : 6,03.
- Entreprise : 11,42.
Question 5.5 | Dernière commande
- Affichez la date de la dernière commande de chaque client, et le nombre de jours écoulés jusqu'au 31/12/2025.
- Indice : MAX ( Ventes[Date] ) ; DATEDIFF en jours avec DATE ( 2025, 12, 31 ).
- Résultat attendu :
- Alice Bernard : 24/10/2024, soit 433 jours.
Question 5.6 | Segmentation des clients
- Classez chaque client : Or à partir de 12 000 de CA, Argent à partir de 5 000, Bronze en dessous. Comptez aussi les clients Or.
- Indice : SWITCH ( TRUE (), ... ) pour la classe ; FILTER sur VALUES ( Ventes[ClientID] ) pour compter.
- Résultat attendu :
- 30 clients Or, 55 Argent, 45 Bronze (toutes années).
Thème 6 | Objectifs et budget
- Pages notions : DAX et relations (TREATAS), Time intelligence (DATESYTD).
- Mesures fournies : déjà présentes dans le PBIP énoncé.
CA = SUM ( Ventes[Montant] )Question 6.1 | Objectif par TREATAS
- La table Objectifs (Pays, Date du 1er du mois, Objectif) n'est reliée à rien. Créez la mesure Objectif période qui suit les filtres Pays et dates.
- Indice : deux TREATAS dans CALCULATE : les pays visibles vers Objectifs[Pays], les dates visibles vers Objectifs[Date].
- Résultat attendu :
- France 2025 : 152 500,00.
- Total 2024 et 2025 : 1 138 700,00.
Question 6.2 | Écart et taux d'atteinte
- Calculez l'écart à l'objectif (CA - objectif) et le taux d'atteinte (CA / objectif).
- Indice : réutilisez la mesure Objectif période de la question 1.
- Résultat attendu :
- France 2025 : écart -3 296,32, taux 97,84 %.
Question 6.3 | Objectif cumulé
- Calculez le CA cumulé et l'objectif cumulé depuis le début de l'année.
- Indice : TOTALYTD pour le CA ; CALCULATE ( [Objectif période], DATESYTD ( ... ) ) pour l'objectif.
- Résultat attendu :
- Juin 2025, tous pays : CA cumulé 282 555,63, objectif cumulé 315 600,00.
Question 6.4 | Statut avec icône
- Affichez un statut : « Atteint » à partir de 100 %, « Proche » à partir de 95 %, « En retard » sinon, précédé d'un rond (UNICHAR ( 9679 )), et une mesure Couleur statut (vert, orange, rouge) pour colorer le texte.
- Indice : SWITCH ( TRUE (), ... ) sur le taux d'atteinte ; la couleur s'applique par Mise en forme conditionnelle, Couleur de police, Valeur de champ.
- Résultat attendu :
- 2025 : Allemagne Atteint, Belgique Atteint, Canada En retard, États-Unis Proche, France Proche, Royaume-Uni En retard.
Thème 7 | Délais et logistique
- Pages notions : DAX et relations (USERELATIONSHIP), Itérateurs et variables (AVERAGEX).
- Mesures fournies : déjà présentes dans le PBIP énoncé.
CA = SUM ( Ventes[Montant] )
Nb commandes = DISTINCTCOUNT ( Ventes[NumCommande] )Question 7.1 | Délai moyen de livraison
- Calculez le délai moyen de livraison en jours (date de livraison - date de commande), ligne par ligne.
- Indice : AVERAGEX sur Ventes avec DATEDIFF ( ..., DAY ).
- Résultat attendu :
- Total : 4,9 jours.
- France : 5,1 jours.
Question 7.2 | Commandes livrées en 5 jours
- Calculez le pourcentage de commandes livrées en 5 jours ou moins. Raisonnez par commande, pas par ligne.
- Indice : FILTER sur VALUES ( Ventes[NumCommande] ) ; pour chaque commande, CALCULATE ( DATEDIFF ( MAX (...), MAX (...), DAY ) ).
- Résultat attendu :
- Total : 64,67 %.
- France : 66,50 %.
Question 7.3 | CA par date de livraison
- Le calendrier est relié à Ventes[Date] (active) et à Ventes[DateLivraison] (inactive). Calculez le CA par date de livraison.
- Indice : USERELATIONSHIP dans CALCULATE active la relation inactive.
- Résultat attendu :
- Janvier 2025 : par commande 46 001,82, par livraison 45 442,90.
Question 7.4 | Commandes en retard
- Comptez les commandes livrées en plus de 7 jours.
- Indice : même structure que la question 2, avec la condition > 7 et COUNTROWS.
- Résultat attendu :
- Total : 120 commandes.
- France : 36 commandes.
Thème 8 | Textes et titres dynamiques
- Pages notions : Fonctions de filtre (SELECTEDVALUE), Mémento des fonctions (textes) ; voir aussi Rendre le rapport dynamique (partie 4).
- Mesures fournies : déjà présentes dans le PBIP énoncé.
CA = SUM ( Ventes[Montant] )Question 8.1 | Titre dynamique
- Créez un titre du type « CA France | 2025 », qui reprend le pays et l'année sélectionnés, ou « tous pays » et « 2024 et 2025 » sans sélection. Liez-le au titre du visuel (fx).
- Indice : SELECTEDVALUE pour le pays ; HASONEVALUE et FORMAT pour l'année (numérique).
- Résultat attendu :
- Sans sélection : « CA tous pays | 2024 et 2025 ».
- France et 2025 : « CA France | 2025 ».
Question 8.2 | Liste des catégories
- Affichez la liste des catégories visibles, séparées par des virgules et triées par ordre alphabétique.
- Indice : CONCATENATEX sur VALUES ( Produit[Categorie] ).
- Résultat attendu :
- Sans sélection : « Accessoires, Composants, Vélos, Vêtements ».
- Ligne Vélos de la matrice : « Vélos ».
Question 8.3 | Libellé du meilleur produit
- Créez un libellé du type « Meilleur produit : VTT noir (12 345 €) ».
- Indice : trouvez le nom avec TOPN et MAXX dans une variable, puis FORMAT pour le montant.
- Résultat attendu :
- Total : meilleur produit Vélo ville jaune (219 290 €).
- France : Vélo ville jaune (64 583 €).
Question 8.4 | Message sans donnée
- Affichez le CA mis en forme, ou le message « Aucune vente pour cette sélection » quand il n'y a pas de vente.
- Indice : IF ( ISBLANK ( [CA] ), ... ) ; utilisez la mesure dans une carte.
- Résultat attendu :
- Pays = Allemagne, année = 2025, ligne Casquette : « Aucune vente pour cette sélection ».
Résultat attendu
Les chiffres de contrôle sont indiqués sous chaque question, sur une ligne témoin (total, pays, catégorie ou mois). Ils sont calculés sur le jeu de données fourni : si votre mesure donne le bon total mais un résultat faux sur la ligne témoin, vérifiez les filtres qu'elle supprime ou conserve.
Corrigé
Le corrigé de chaque thème (PBIP suffixé _Corrige, mesures solutions rangées par dossier) est remis par le formateur à la fin du thème.