La función CALCULATETABLE evalua una expresión que genera una tabla en un contexto modificado por los filtros incluidos como argumentos.
CALCULATETABLE(
expression,
filter1,
filter2...
)
- expression: Expresión a evaluar.
- filter1, filter2...: Argumentos opcionales. Lista de expresiones booleanas o expresiones de tabla que definen filtros a aplicar a expression.
La función CALCULATETABLE devuelve una tabla.
La expresión usada como primer argumento debe generar una tabla.
Los filtros que sean expresiones booleanas:
- No pueden hacer referencia a medidas.
- No pueden usar funciones CALCULATE anidadas.
- No pueden usar funciones que escaneen una tabla o que devuelvan una tabla, incluyendo funciones de agregación.
En todo caso, estos filtros sí pueden usar funciones que recuperan valores simples o que devuelven un escalar.
En este ejemplo deseamos sumar los importes para aquellas ventas realizadas en el año 2003, para lo que creamos una tabla intermedia filtrada según este criterio usando la función CALCULATETABLE. Una vez creada, la recorremos con la función SUMX sumando el campo SalesAmount:
Sales 2003 =
SUMX(
CALCULATETABLE(Sales, 'Calendar'[Year]=2003),
Sales[SalesAmount]
)