Girault Conceptions

Power BI — Master 2 PPA Supply Chain

← Retour à la liste des TP
Travail Pratique · Séance S6

📅 DAX avancé et Time Intelligence

Maîtriser YTD, comparaisons N-1, moyennes mobiles, RANKX, paramètres dynamiques.

⏱ Durée 3h
📊 Niveau Avancé
🔌 Sources PostgreSQL commerce + Calendrier DAX

🎓 Objectifs pédagogiques

🎯 Contexte

Le COMEX de NordSupply ne veut pas seulement le CA actuel : il veut la dynamique. CA depuis le début de l'année, croissance vs N-1, moyenne mobile 3 mois, classement des commerciaux. C'est le terrain de la Time Intelligence en DAX.

📋 Prérequis

  • TP 05 terminé — 7 mesures DAX de base disponibles
  • Table Calendrier marquée comme table de dates

🛠️ Étape 1 — CA cumulé YTD (Year To Date)

CA YTD =
TOTALYTD( [CA Total], Calendrier[Date] )

Affichage : sur un graphique avec axe = mois, vous verrez la courbe monter en escalier jusqu'à un reset au 1er janvier.

🛠️ Étape 2 — CA même période N-1

CA N-1 =
CALCULATE(
    [CA Total],
    SAMEPERIODLASTYEAR( Calendrier[Date] )
)

🛠️ Étape 3 — Évolution % vs N-1

Evolution % N-1 =
VAR _CA_N    = [CA Total]
VAR _CA_N1   = [CA N-1]
RETURN
    DIVIDE( _CA_N - _CA_N1, _CA_N1, BLANK() )

Format : Pourcentage, 1 décimale.

🛠️ Étape 4 — Moyenne mobile 3 mois

CA Moyenne Mobile 3M =
AVERAGEX(
    DATESINPERIOD( Calendrier[Date], MAX( Calendrier[Date] ), -3, MONTH ),
    [CA Total]
)

🛠️ Étape 5 — Classement des commerciaux (RANKX)

Rang Commercial =
RANKX(
    ALL( commerciaux[nom_complet] ),
    [CA Total],
    ,
    DESC,
    DENSE
)

Utilisable dans un tableau avec colonne commerciaux[nom_complet].

🛠️ Étape 6 — Mesure conditionnelle (alerte couleur)

Indicateur Performance =
SWITCH(
    TRUE(),
    [Evolution % N-1] >  0.10, "🟢 Excellente",
    [Evolution % N-1] >  0,    "🟡 En croissance",
    [Evolution % N-1] > -0.05, "🟠 Stable",
    "🔴 En baisse"
)

🛠️ Étape 7 — Top N dynamique avec paramètre

Modélisation > Nouveau paramètre > Plage de nombres :

  • Nom : TopN
  • Plage : 1 à 20, incrément 1, défaut 5
  • Cocher "Ajouter un segment à cette page"
CA Top N Produits =
VAR _topN = SELECTEDVALUE( TopN[TopN Valeur], 5 )
VAR _table =
    TOPN(
        _topN,
        ALL( produits[nom] ),
        [CA Total],
        DESC
    )
RETURN
    CALCULATE(
        [CA Total],
        KEEPFILTERS( _table )
    )

🧠 À retenir : les fonctions Time Intelligence

FonctionUsage
TOTALYTD / TOTALMTD / TOTALQTDCumul depuis début Année/Mois/Trimestre
SAMEPERIODLASTYEARMême période N-1
PARALLELPERIODPériode parallèle (décalage)
DATESINPERIODPlage de dates relatives (utile pour moyennes mobiles)
DATEADDDécale de N jours/mois/années
FIRSTDATE / LASTDATEDate min/max dans le contexte

📊 Résultat attendu

  • 6 nouvelles mesures Time Intelligence créées
  • Graphique linéaire CA + CA Moyenne Mobile 3M
  • Tableau commerciaux avec leur rang
  • Slicer TopN fonctionnel
  • Indicateur Performance affiché en carte

✅ Critères d'évaluation

  • Time Intelligence opérationnelle (YTD, N-1, Evolution %)
  • RANKX correctement appliqué
  • Paramètre TopN dynamique
  • Mesure conditionnelle SWITCH

📚 Pour aller plus loin

PDF : S6 — DAX avancé / KPI Supply Chain