Adieu CALCULATE

Adieu CALCULATE ? Quelle est cette hérésie ?

Et bien vous ne rêvez pas. Gommée, froissée, rayée, passée sous le blanco, on peut la mettre à la benne, à la poubelle, aux oubliettes, au compost.

Il y a 8 mois, j’ai fait une découverte fortuite.

Nb event N-1 = [nbevent](SAMEPERIODLASTYEAR(calendrier[Date])

Regardez mieux mon bloc-notes, cette mesure n’a pas de vaguelette rouge, ne présente aucune erreur de syntaxe ! Et elle renvoie une valeur correcte, égale à la mesure traditionnelle ci-dessous :

Quelle n’a pas été ma surprise en découvrant que l’on pouvait implicitement faire appel à la fonction CALCULATE !

Et Power BI nous offre aussi une aide syntaxique plutôt explicite :

La fonction CALCULATE ne serait donc pas obligatoire. Elle peut être implicitement appelée en ouvrant une parenthèse après la mesure dont on veut modifier le contexte d’évaluation.

Cela ressemble au langage naturel : je veux le nombre d’événements pour la région Bretagne

➡️nb event Bretagne = [nb event](Region = «Bretagne »)

Cette découverte m’a fait douter et fouiller la toile en quête de littérature autour de cette syntaxe « sucrée » (syntaxe sans effort, déjà packagée pour l’utilisateur). Rien, je n’ai rien trouvé.

J’ai donc réalisé mes propres tests.

Aucun problème de performance. Toutes mes mesures peuvent être converties, sans souci.

🚨Une limitation : cette syntaxe ne fonctionne qu’avec des mesures, pas des fonctions DAX :

☠️ Nb event Bretagne = count(‘Evénements'[Ref])( Region = «Bretagne ») : N’est pas reconnu par l’outil !

Cette syntaxe sucrée est intéressante pour la concision de nos mesures. J’apprécie le DAX précis et concis. Il est ainsi plus lisible. Néanmoins, on peut s’interroger sur la pertinence de l’utiliser dans des gros projets étant donné que cette pratique est encore inconnue.

Cet article va-t-il changer la donne ? rdv dans 6 mois ou dans un an!

Vous voulez en savoir plus sur le DAX et ses subtilités? Découvrez la formation Approfondir Power BI.