CALCULATE, fonction

Effectué

La fonction CALCULATE est l’une des fonctions les plus polyvalentes dans Power BI. L’exemple suivant illustre la syntaxe de la fonction CALCULATE :

CALCULATE( <expression>, <filter1>, <filter2>, ... )

L’expression figurant dans le premier paramètre doit être évaluée pour retourner le résultat (une valeur) et est généralement une fonction d’agrégation comme SUM, AVG, MIN, etc. Cette expression est ensuite évaluée dans un contexte basé sur les filtres. Ces filtres peuvent développer et limiter le contexte d’évaluation actuel.

Avec la fonction CALCULATE, vous contrôlez le contexte de ligne et de filtre. Vous pouvez ajouter, supprimer et mettre à jour des filtres. CALCULATE est la fonction clé pour de nombreux calculs dans DAX.

Ajouter un filtre avec CALCULATE

L’extrait de code suivant montre un exemple illustrant comment évaluer le total des ventes et ajouter un contexte de filtre d’avion.

Airplane Sales = CALCULATE( [Total Sales], 'Product Details'[ItemGroup] = "Airplane" )

Conseil

L’extrait de code suivant montre comment effectuer le même calcul dans Tableau :

Airplane Sales = IF [ItemGroup] = "Airplane" THEN SUM([Sales Amount] ELSE 0 END

Mettre à jour un filtre avec CALCULATE

L’extrait de code suivant montre un exemple illustrant comment obtenir les ventes de 2018, même quand l’année 2019 est sélectionnée dans un segment Année.

2018 Sales = CALCULATE( [Total Sales], DATE[Year] = 2018 )

Conseil

Une comparaison Tableau directe ne semble pas disponible. Pour effectuer cette fonction dans Tableau, vous devez dupliquer les champs, introduire des sources de données supplémentaires ou effectuer des calculs sur chaque colonne.

Ignorer un filtre avec CALCULATE

L’extrait de code suivant montre un exemple illustrant comment rechercher les ventes totales des États pour lesquels Alexandria est répertorié en tant que ville (« Alexandria » est une valeur sélectionnée dans un segment Ville).

Total Sales All States = CALCULATE( [Total Sales], ALL( Geography[State] ) )

Conseil

Vous effectueriez le même calcul dans Tableau en utilisant l’expression EXCLUDE LOD. Notez que cette expression LOD est différente de l’autre par sa granularité. Avec cette expression, vous voudrez exclure l’État de la vue au lieu d’exclure l’État et la ville :

Total Sales All States = { EXCLUDE [State] : SUM([Total Sales]) }