Funciones

En los dos escenarios anteriores nos hemos encontrado con la necesidad de modificar el contexto de filtro de forma que las filas visibles en la tabla Calendar fuesen diferentes a las indicadas en el contexto de filtro inicial, lo que nos ha obligado a realizar ciertos cálculos (como extraer el año del período actual y usar este valor para apuntar al día 1 de enero de dicho año, por ejemplo).

Para evitar tener que realizar este trabajo manualmente, DAX nos ofrece un conjunto de funciones que simplifican enormemente este tipo de cálculos. Son las llamadas “Funciones de inteligencia de tiempo”. Estas funciones requieren una referencia a una “tabla calendario”. En DAX, una tabla calendario es una tabla que incluye una columna con valores de tipo fecha o fecha y hora, con todos los días entre dos fechas dadas, sin huecos entre ellos (es decir, tienen que estar todas las fechas presentes) y sin fechas duplicadas. Es por este motivo por el que, en la mayor parte de los informes realizados con Power BI, solemos encontrar una tabla con esta información.

Vamos a ver en las siguientes secciones algunas de estas funciones de inteligencia de tiempo.

Aun cuando pueda parecer que lo que hemos aprendido en este bloque acerca de la modificación “manual” del contexto de filtro temporal es irrelevante al existir funciones que hacen este trabajo por nosotros, lo cierto es que, si entendemos bien lo que hemos hecho, nuestra comprensión de lo que ocurre “por detrás del telón” aumenta enormemente. Pensemos además que, antes o después, nos encontraremos con escenarios para cuya resolución no exista ninguna función DAX específica, y tendremos que escribir nosotros los filtros a mano. Y si no tenemos ese conocimiento profundo acerca de lo que está realmente sucediendo, nos resultará mucho más difícil encontrar la solución adecuada.

Es por ello por lo que se anima al estudiante a revisar los dos escenarios anteriores hasta que se entiendan perfectamente y se sea capaz de resolverlos sin necesidad de recurrir a la documentación, pues ambos escenarios son magníficos campos de prueba para nuestra comprensión del lenguaje DAX.