PowerPivot : calculate Iso Last Year Value

Comme vous avez déjà pu le constater (ou pas encore), en DAX :

  • les fonctions de manipulation de dates ne propose pas grand-chose concernant les dates ISO
  • il n’est pas possible de manipuler vos hiérarchies calendaires tout comme on le fait en MDX ( lag, lead, parent, cousin, etc.)

Alors comment faire pour créer des mesures permettant d’avoir la valeur de l’année précédente en se basant sur le calendrier Iso ? C’était si simple en multidimensionnel …

  • Insérez dans votre dimension Temps une colonne calculée permettant de récupérer, pour chaque date, le même jour de la semaine l’année précédente :
Calendar[Same Weekday Last Year] := DATEADD(Calendar[Date]; ROUND(52,1775 * -1;0)*7;day)
  • Pour avoir  la somme des ventes sur l’année précédente en utilisant le calendrier ISO, il ne reste plus qu’à filtrer le calcul sur la plage de date souhaitée, ce qui nous donne :
Sales[Sales Amount Iso LY] :=
CALCULATE(
SUM( Sales[Sales Amount] );
FILTER(
ALL( Calendar );
CONTAINS(VALUES(Calendar[Same Weekday Last Year]);Calendar[Same Weekday Last Year];Calendar[Date])
)
)

Notez au passage que je n’ai pas utilisé la fonction HASONEVALUE() et que par conséquent ma mesure calculée va pouvoir s’appliquer à n’importe quelle hiérarchie calendaire (regular, iso, etc …)

Vérification du résultat dans un Pivot Table :

Iso LY Value

Au passage, je vous recommande l’excellent article de Marco Russo sur la manipulation des Iso Weeks en DAX .

4 réflexions sur “PowerPivot : calculate Iso Last Year Value

    • Salut Laurent,
      Tu as raison dans notre cas cela ne sert à rien.
      Il s’agit juste de la transposition bête et méchante d’un trick SQL que j’utilise assez souvent pour récupérer le même jour de la semaine sur plusieurs années :
      select DATEADD(day,ROUND(52,1775 * @nbYears)*7,@date)
      Et là le round à son utilité.
      Merci pour ton commentaire, çà m’a permis de placer mon trick SQL😉

  1. Pingback: PowerPivot SamePeriodLastYear on non contiguous date selections « BI Thoughts & Tips

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s