Y se ha dejado para el final otra importante función que también ha aparecido fugazmente al hablar de las funciones de inteligencia de tiempo: CALCULATETABLE. Y es que, de igual modo que la función CALCULATE nos permite modificar el contexto de filtro en el que se va a evaluar una medida, la función CALCULATETABLE nos va a permitir modificar el contexto de filtro en el que se va a evaluar una expresión que devuelva una tabla.
Veamos un ejemplo sencillo: Si quisiéramos crear una tabla calculada conteniendo las ciudades italianas y sus ventas, podríamos conseguirlo con la siguiente expresión:
CALCULATETABLE(
ADDCOLUMNS(
VALUES(Geography[City]),
"Sales", [Sales]
),
Geography[Country] = "Italy"
)
Básicamente estamos generando con la función ADDCOLUMNS la tabla de ciudades y sus ventas, pero estamos evaluando esta función tras haber modificado el contexto de filtro de forma que solo se consideren las filas de la tabla Geography en las que el campo Country tome el valor “Italy”. El resultado es el que se muestra en la siguiente imagen: