Consejos para optimizar tú aprendizaje del Lenguaje DAX
¡Hola querid@ lector@, espero que tú y los tuyos se encuentren muy bien!
Hoy quiero recordar contigo una serie de conceptos esenciales e imprescindibles del lenguaje DAX que pueden ser vitales para su entendimiento y que frecuentemente olvidamos, así que toma nota de las ideas que debes grabarte como un mantra y de los errores que no puedes cometer y que hemos encontrado con Miguel en los distintos entrenamientos enfocados en el aprendizaje del Lenguaje DAX.
Así que empecemos con nuestra «lista de tips»
#1 – Querer comparar directamente las funciones de Excel con las Funciones del Lenguaje DAX
Al iniciar nuestro aprendizaje del Lenguaje DAX es muy común utilizar las funciones de Agregación (SUM,AVERAGE,…) para crear nuestros primeros cálculos; debido a su simplicidad y parecido con las funciones de Excel. Por esta razón, podemos llegar a asociarlas y creer que trabajan igual, porque el resultado es similar, pero nada esta mas alejado de la realidad…
Imagen 1 – Función en Excel
Imagen 2 – Función en el Lenguaje DAX
#2 – Olvidar que el Lenguaje DAX no hace referencia a Celdas, únicamente trabaja con Columnas o Tablas Completas
Debes tener siempre presente que a diferencia de las funciones de Excel que hacen referencia a celdas o rangos de Celdas, el Lenguaje DAX trabaja con Tablas y Columnas Completas. Esto es una diferencia marcada entre ambos lenguajes de funciones.
Imagen 3 – Expresión DAX
Si quieres repasar este concepto, puedes ver el siguiente vídeo:
Conociendo el Lenguaje DAX: Lección 1 – Sintaxis en el Lenguaje DAX:
#3 – No diferenciar los tipos de Cálculos y como trabaja el motor DAX para obtener cada uno de ellos
En el Lenguaje DAX tenemos tres tipos de Cálculos: Medidas, Columnas Calculadas y Tablas Calculadas. O tres sabores, como les decimos en Excel Free Blog. Además, los pasos que sigue el motor DAX para obtener el resultado es diferente según el tipo de cálculo elegido, así que recordemos:
Medidas: Pasos que sigue el Motor DAX para calcularlas
1 – Identifica los Filtros y Define el Contexto de Filtro
2 – Aplica los Filtros
3 – Ejecuta la Expresión DAX
Imagen 4 – Algunas Características de las Medidas
Conociendo el Lenguaje DAX: Lección 7 – Introducción a Medidas
Columnas Calculadas: Pasos que sigue el motor DAX para crearlas
1 – Define el Contexto de Fila
2 – Ejecuta la Expresión DAX
Imagen 5 – Algunas Características de las Columnas Calculadas
Conociendo el Lenguaje DAX: Lección 4 – Columnas Calculadas y Variables en Power BI
Tablas Calculadas: Pasos que sigue el Motor DAX para construirlas
1 – Ejecuta la Expresión DAX
Nota: Dependiendo de la función, pueden trabajar con el Contexto de Filtro y/o Contexto de Fila
Imagen 6 – Algunas Características de las Tablas Calculadas
Conociendo el Lenguaje DAX: Lección 5 – Introducción a Tablas Calculadas
#4 – Tener Claro el concepto de: Contexto de Fila, Contexto de Filtro y Contexto de Evaluación
Otra conclusión a la cual vas a llegar es que: en las funciones de Excel debemos preocuparnos por definir muy bien los argumentos, mientras que en las funciones del Lenguaje DAX debemos establecer los argumentos de la función y además tener en cuenta que contextos está trabajando la expresión DAX
Recuerda que
- EL contexto de Filtro es el Conjunto de Filtros que se aplican al Modelo en un momento determinado
- El contexto de Fila es Toda la Fila Actual para la cual estamos analizando un valor en un momento determinado, y podemos tener Contexto de Fila Automático y Programable
- El Contexto de Evaluación es el ambiente bajo el cual se ejecuta la expresión, y se compone por el Contexto de Filtro y Contexto de Fila
Si no tienes claro estos conceptos, será imposible que domines el Lenguaje DAX. Si quieres repasar esta temática ta interesante, puedes estudiar los siguientes recursos:
1 – El Contexto de Filtro en el Lenguaje DAX (Uno de los mejores artículos del blog):
https://www.excelfreeblog.com/el-contexto-de-filtro-en-el-lenguaje-dax/
2 – Introducción al Contexto de Filtro en DAX con Power BI:
3 – Introducción al Contexto de Fila en DAX con Power BI
4 – El Contexto de Evaluación en el Lenguaje DAX con Power BI
u#
#5 – Entender la Propagación de Filtros
Es común que nuestros modelos de datos no tengan una sola tabla y por eso debemos recurrir a la creación de relaciones. Si has asistido a alguno de nuestros entrenamientos sabrás que uno de los conceptos en los que más hacemos énfasis es en la propagación de filtros.
– La Propagación de Filtros automática ocurre desde la Tabla de Búsqueda a la Tabla Transaccional, o en otras palabras, desde el lado de los Unos hasta el lado de los muchos: 1 -> * de la relación
Conociendo el Lenguaje DAX: Lección 4, Módulo 2 – Propagación del Contexto de Filtro en DAX con Power BI
#6 – Diferenciar entre Modificar, Ignorar y Trabajar con el Contexto de Filtro
El Contexto de Filtro es un conjunto de Filtros que restringen el modelo
– Eso está claro…
Por otra parte, debes saber que existen funciones que pueden:
-
Modificarlo : CALCULATE y CALCULATETABLE
-
Ignorarlo: ALL y su familia de funciones
-
La mayoría lo tienen en cuenta, como por ejemplo FILTER y VALUES
Si tienes clara la diferencia entre estas tres afirmaciones, te aseguramos que vas por muy buen camino para convertirte en un experto en el Lenguaje DAX.Si por el contrario, no entiendes la diferencia, te invitamos a que repases los siguientes recursos:
CALCULATE en DAX una Introducción real:
Lo que nadie te cuenta sobre la función ALL:
#7 – Entender que hay funciones que trabajan con el contexto de filtro y otras con el contexto de fila
Un principio básico del Lenguaje DAX, que nosotros resaltamos mucho en los entrenamientos y que es invisible para muchas personas es que algunas funciones calculan sus resultados teniendo en cuenta el Contexto de Filtro (SUM, AVERAGE, MAX, etc.) y Otras teniendo en cuenta el Contexto de Fila (IF, OR, LEFT, etc.). En las Cartas DAX de EFB puedes revisar con que contexto trabaja cada función:
Cartas DAX de EFB
Nota: Recuerda que puedes crear expresiones que contengan Contexto de Filtro y Contexto de Fila…
#8 – Saber la diferencia entre un Contexto de Fila Programable y Contexto de Fila Automático
El Contexto de Fila automático es creado por el Motor DAX en el momento que añadimos una Columna Calculada, mientras que el Contexto de Fila Programable es definido cuando utilizamos alguna función de Iteración.
-Si, así de simple es este concepto, pero es bien poderoso
Entender la diferencia entre los dos tipos de contextos de fila es imprescindible, así que no lo olvides jamás.
Esta lista de “Conceptos esenciales” debes hacerla parte de ti, y debe estar contigo presente a la hora de crear cualquier expresión DAX, y la única manera de que esto ocurra, es que practiques y repases dichos conceptos, por eso, te invito fervientemente a que repases los recursos que te dejamos listados.
– Hasta el próximo artículo, te envió un abrazo digital desde Bogotá, Colombia
SI tienes algo por añadir o solo quieres recordarnos algún otro concepto esencial, escríbenos un comentario
¿ Te resulto de utilidad este artículo?