¿Por qué aprender DAX resulta tan complicado?

Si has empezado a trabajar con Power BI , tarde o temprano te vas a encontrar con DAX y la frustración.
Al principio parece todo muy sencillo, cargas los datos, construyes un modelo sencillo, creas algunas medida y colocas gráficos y tablas en la página. Ya está: has construido un informe en Power BI y con orgullo lo presentarás a tus compañeros y a la dirección.

Pero al poco tiempo empiezan las llamadas y los correos:

«Oye, que estos datos no están bien»
«Mira esta suma»
«Las ventas de este departamento no pueden ser esas»

Te pones a revisarlo, es verdad, los datos no están bien. Revisas las fórmulas, todas parecen correctas ¿Qué esta pasando?, revisas el origen de datos y es correcto, vas a las tablas y haces algunos cálculos de prueba utilizando Excel, pues no, no cuadran con lo que sale en Power BI.

El error más común: creer que DAX es como Excel

Llevas años utilizando Excel y nunca habías tenido este tipo de problema.

Sí, es un engorro copiar y pegar.
Sí, a veces se escapan datos en el proceso.
Pero los cálculos en Excel no fallan.

Y ese es precisamente el problema.

Creer que DAX es como las fórmulas de Excel, pero más avanzado.

Y no.

El proceso de cálculo de DAX no es igual que el de Excel.

En Excel trabajamos con celdas.
En DAX trabajamos con tablas y columnas.

En Excel las fórmulas se calculan a nivel de celda.
En DAX las fórmulas son un algoritmo que se evaluará dentro de un contexto de cálculo (o contexto de evaluación).

Y ese concepto es el que más cuesta asimilar al principio.

¿Qué es el contexto de evaluación en DAX?

El contexto de evaluación es el entorno en el que DAX calcula una fórmula.

Existen principalmente dos tipos:

  • Contexto de fila

  • Contexto de filtro

Y cuando aparece la función CALCULATE(), puede producirse algo todavía más complejo: la transición de contexto.

Este cambio de mentalidad es el que hace que aprender DAX resulte complicado al principio.

No porque las funciones sean difíciles.

Sino porque el modelo mental es diferente.

DAX es simple… pero no es fácil

Las funciones de DAX son simples y fáciles de entender.
Lo cual no quiere decir que sea fácil programar en DAX.

DAX se parece al GO (juego chino de estrategia):

Las reglas son simples.
El juego es muy complicado.

Como dice Alberto Ferrari, uno de los mayores expertos en DAX:

DAX es simple, pero no es fácil.

Y da siete razones para explicarlo.

Las 7 razones por las que DAX resulta complicado:

1. Es un lenguaje funcional. No es un lenguaje imperativo. Si has programado en otros lenguajes no funcionales,  tienes que «cambiar el chip» y eso sólo se consigue a base de practicar y practicar.
2. Requiere práctica constante. Si no lo practicas, perderás habilidades. Si no puedes especializarte en DAX en tu trabajo, al menos deberás asignar unas horas al día para practicarlo.
3. Hay cuatro conceptos básicos que debes dominar:
    1. Contextos de evaluación
    2. Iteraciones
    3. Transición de contextos
    4. Tablas expandidas
No tienes que conocer todas las funciones de DAX de memoria, si dominas estos cuatro conceptos, dominas DAX.
4. DAX es extremadamente lógico. Es como un puzzle
5. Los detalles son muy importantes. Tienes que tener en cuenta el origen de datos, las transformaciones, el modelo que has construido, las relaciones, el tipo de relación, las medidas, el contexto de evaluación, el contexto de fila, la transición de contextos. Y aparte de todo eso, tienes que tener en cuenta qué pregunta te estás haciendo y qué quieres contestar en un informe de Power BI. Por ejemplo: quieres mostrar en una medida el número de clientes nuevos que ha hecho la empresa. Vale. ¿Qué es un cliente nuevo para ti? . Si un cliente está en la base de datos de la empresa, no ha comprado nada en 20 años y ahora vuelve a comprar ¿Es un cliente nuevo?
6. Necesitas un buen editor. Ya te habrás dado cuenta que escribir código DAX complejo en el editor de Power BI Desktop es bastante frustrante. Power BI Desktop se creó como una ampliación de Excel y conserva la barra de fórmulas como editor de código. Hasta el día de hoy Microsoft no ha publicado ninguna herramienta que permita editar DAX de forma cómoda, pero existen herramientas de terceros como DAX STUDIO o TABULAR EDITOR que permiten hacerlo.

7. «Cacharrear» no sirve.

Muchas personas acostumbradas a SQL o VBA creen que mediante prueba y error dominarán DAX.

Y no es así.

Cuando programas en VBA , en cualquier otro lenguaje o trabajas con Excel, siempre puedes abrir un buscador , escribir tu problema y en algún foro podrás encontrar el trozo de código o la fórmula que necesitas, cortas, pegas y si el resultado es correcto ya no tienes que pensar más, ni siquiera entender la fórmula o el código.

En DAX no basta con la fórmula.

Porque la fórmula es solo un algoritmo que se ejecuta:

  • Sobre un modelo

  • En un contexto de evaluación

  • Con relaciones activas o inactivas

Si no entiendes el modelo, no entiendes el resultado.

Entonces… ¿por qué aprender DAX resulta tan complicado?

Porque exige comprender tres niveles al mismo tiempo:

  1. El modelo de datos

  2. El contexto de cálculo

  3. La lógica del negocio

Y ese tercer punto es el que más se suele ignorar.

En entornos empresariales reales —donde existen departamentos, centros de coste, márgenes, rentabilidad, desviaciones y presupuestos— un pequeño error en el modelo puede distorsionar completamente un informe.

Por eso DAX parece complicado.

Porque obliga a pensar.

DAX parece complicado y lo es, pero es un lenguaje muy potente para analizar datos y si te gusta puede convertirse en un hobby, incluso puede llegar a ser adictivo.

En nuestro curso de Introducción a DAX tratamos estos conceptos:

En Devaim Consultores te invitamos a conocer más a fondo la herramienta por excelencia de Business Intelligence desarrollada por Microsoft. ¡No te pierdas nuestros próximos cursos de formación!

    Su nombre *

    Su e-mail *

    Empresa *

    Teléfono *

    Asunto *

    Su mensaje

    Mediante el envío de este formulario acepto la Política de Privacidad del sitio