Aller au contenu

Exploiter les fonctions de Time Intelligence

La Time Intelligence dans Power BI fait référence à l'ensemble des fonctions qui permettent de manipuler le temps.

Pré-requis

Avant toute chose, il faut créer une table de dates. Ensuite, il faut créer une mesure qui calcule le KPI comme l'exemple ci-dessous :

KPI = SUM(Table[Amount])

Calculer des cumuls à date

Les cumuls MTD et YTD sont les KPIs très courants en entreprise, ils sont plus révélateurs que les chiffres ponctuels qui varient beaucoup.

KPI MTD = TOTALMTD(Mesures[KPI], 'calendar'[Date])

KPI YTD = TOTALYTD(Mesures[KPI], 'calendar'[Date])

Effectuer des calculs décalés

Dans la section précédente, nous avons vu comment modifier le contexte de filtre dans Power BI grâce à la fonction CALCULATE. Dans le cadre des calculs décalés dans le temps, nous allons utliser CALCULATE afin d'évaluer les KPIs à une date différente de celle du contexte de filtre.

KPI D-1 = CALCULATE(
    Mesures[KPI],
    DATEADD('calendar'[Date], -1, DAY)
)

KPI MTD M-1 = CALCULATE(
    Mesures[KPI MTD],
    DATEADD('calendar'[Date], -1, MONTH)
)
KPI MTD Y-1 = CALCULATE(
    Mesures[KPI MTD],
    DATEADD('calendar'[Date], -1, YEAR)
)
KPI YTD Y-1 = CALCULATE(
    Mesures[KPI YTD],
    DATEADD('calendar'[Date], -1, YEAR)
)

Calculer des progressions

Les progressions sont très importantes dans un rapport. Des KPIs à eux seuls ne sont pas très indicatifs, par contre avec des progressions, les utilisateurs peuvent apprécier plus facilement les chiffres. On souhaite savoir si l'on fait mieux que le mois où si le budget est réalisé ou non. Et les progressions permettent de répondre à ces questions du top management.

Prog KPI DoD = DIVIDE(Mesures[KPI] ,Mesures[KPI D-1]) - 1
Cette formule DAX est correcte et elle marche très bien. Toutefois il serait plus intéressant de gérer les cas où la valeur de la période précédente n'existe pas. Plutôt que de retourner une progression de 100%, on ne retournera rien i.e vide (BLANK()).

Prog KPI DoD = IF(
    Mesures[KPI D-1] = 0,
    BLANK(),
    DIVIDE(
        Mesures[KPI] ,
        Mesures[KPI D-1] 
    ) - 1
)

Progression MoM

Prog KPI MoM = IF(
    Mesures[KPI MTD M-1] = 0,
    BLANK(),
    DIVIDE(
        Mesures[KPI MTD] ,
        Mesures[KPI MTD M-1] 
    ) - 1
)

Progression YoY

Prog KPI YoY = IF(
    Mesures[KPI MTD Y-1] = 0,
    BLANK(),
    DIVIDE(
        Mesures[KPI MTD] ,
        Mesures[KPI MTD Y-1] 
    ) - 1
)

Progression YTD

Prog KPI YTD = IF(
    Mesures[KPI YTD Y-1] = 0,
    BLANK(),
    DIVIDE(
        Mesures[KPI YTD],
        Mesures[KPI YTD Y-1] 
    ) - 1
)
Sur la base de ces progressions, les décideurs ont une idée sur le comment se porte l'activité. De même pour les opérationnels, les progressions leurs permettent de vite comprendre ce qui ne va pas et réagir rapidement. Les KPIs sans les progressions ne sont pas assez informatifs.


Visitez https://learn.microsoft.com/en-us/dax/time-intelligence-functions-dax pour en savoir plus sur les fonctions de Time Intelligence.