DAX: El lenguaje que convierte columnas en respuestas de negocio

Fórmulas más allá de sumar y promediar dentro de Power BI

Cualquiera puede arrastrar un campo numérico a un visual y obtener una suma. El verdadero valor de un modelo de datos aparece cuando alguien pregunta algo un poco más complejo: cuánto creció esta cifra frente al año anterior, qué porcentaje representa cada producto sobre el total, o cuál sería el resultado si se excluyera un cliente específico del cálculo. Responder ese tipo de preguntas es exactamente para lo que existe DAX. 

DAX, abreviatura de Data Analysis Expressions, es el lenguaje de fórmulas detrás de Power BI. A primera vista se parece a las fórmulas de Excel —usa funciones con nombres reconocibles, paréntesis, referencias a columnas— pero su forma de evaluar los datos es distinta, y esa diferencia es justo lo que permite construir, dentro de un modelo de Power BI, cálculos que en una hoja de cálculo tradicional requerirían fórmulas larguísimas o simplemente no serían posibles. 

Muchos equipos usan Power BI durante meses limitándose a sumas y promedios simples, sin saber que el mismo modelo podría responder preguntas mucho más específicas con las fórmulas correctas. No es un problema de la herramienta, es que DAX tiene una curva de aprendizaje real, y pocas veces alguien se sienta a explicar cómo piensa este lenguaje antes de empezar a escribir fórmulas. En ITD Consulting nos encontramos este escenario con frecuencia al revisar un modelo por primera vez. 

En ITD Consulting dedicamos buena parte de cada proyecto a construir las medidas de DAX que realmente responden las preguntas del negocio, no solo las que se pueden resolver arrastrando un campo a un gráfico. 

¿Qué hace distinto a DAX de una fórmula de Excel?

La diferencia central está en cómo cada herramienta entiende «dónde está parado» un cálculo. En Excel, una fórmula vive en una celda específica y sabe exactamente qué fila y qué columna la rodean. En DAX, una fórmula puede evaluarse en decenas de contextos distintos al mismo tiempo —una fila de una tabla, un total general, una celda de una matriz filtrada por tres criterios distintos— y el resultado cambia según ese contexto, sin que la fórmula en sí tenga que reescribirse. 

Esto explica por qué preguntas como estas son naturales en DAX, pero incómodas de resolver en una hoja de cálculo tradicional: 

  • ¿Cuál es la variación de ventas comparando el mismo mes del año anterior?
  • ¿Qué porcentaje representa cada región sobre el total, actualizado según los filtros que alguien aplique?
  • ¿Cuál sería el margen si se recalculara excluyendo un producto específico?
  • ¿Cuántos clientes distintos compraron en un periodo, sin contar duplicados?
  • ¿Cómo se ve un promedio móvil de los últimos tres meses, actualizado automáticamente cada vez que hay un dato nuevo? 

Cada una de estas preguntas depende de que la fórmula entienda el contexto en el que se está evaluando, que es precisamente la idea central que hay que entender para escribir buen DAX. 

Medida DAX evaluándose en distintos contextos de filtro dentro de un reporte de Power BI

Convierte tus preguntas de negocio en medidas que sí funcionan

DAX permite ir mucho más allá de las sumas y promedios, pero obtener resultados confiables depende de entender el contexto, los filtros y las relaciones del modelo. Te ayudamos a construir medidas que respondan exactamente a las preguntas que tu negocio necesita resolver, sin fórmulas improvisadas.

¿Vale la pena que un equipo de negocio aprenda DAX?

La respuesta depende de qué tan profundo se quiera llegar. Entender los conceptos básicos de DAX ayuda a cualquier persona que consulte reportes a interpretar mejor lo que ve, y a saber qué preguntar cuando algo no cuadra. Construir medidas complejas y eficientes, en cambio, suele requerir experiencia dedicada, sobre todo cuando el modelo de datos crece y los cálculos empiezan a depender unos de otros.
Read more

Invertir en construir bien el modelo desde Desktop, antes de pensar en cómo se va a compartir después dentro de Microsoft 365, evita ese tipo de fragilidad. Un modelo bien construido permite:

  • Agregar una fuente de datos nueva sin rehacer el trabajo desde cero
  • Corregir un cálculo en un solo lugar, en vez de en diez visuales distintos
  • Detectar errores de datos antes de que lleguen a un reporte publicado
  • Mantener el archivo manejable incluso cuando crece con el tiempo
  • Entregarle el modelo a otra persona sin que tenga que adivinar cómo funciona
  • Ahorrar horas de rediseño cuando cambian las preguntas del negocio

El tiempo que se dedica a modelar bien casi siempre se recupera más adelante, en forma de menos correcciones urgentes y menos reportes que dejan de funcionar apenas algo en la empresa cambia.

Errores que aparecen cuando DAX se usa sin entender el contexto

La mayoría de las veces no se trata de una fórmula que arroje un mensaje de error. El problema aparece cuando calcula algo, pero ese algo no es lo que realmente se necesitaba, y detectar por qué puede ser complicado si no se entiende bien cómo evalúa DAX cada cálculo. 

Son dos formas distintas de crear un cálculo en DAX, y elegir la equivocada genera resultados incorrectos o un modelo innecesariamente pesado. Una columna calculada guarda un valor fijo por cada fila; una medida se recalcula dinámicamente según el contexto del reporte. Usar una donde correspondía la otra es, por mucho, el error más común entre quienes empiezan con DAX. 

Es fácil escribir una fórmula que técnicamente funciona, pero que ignora los filtros de fecha, región o categoría que el usuario aplicó en el reporte, devolviendo siempre el mismo número sin importar qué se esté explorando. Esto suele pasar cuando no se entiende bien cómo interactúan los filtros con el cálculo.

Una fórmula que funciona rápido con mil filas puede volverse muy lenta con un millón, si no está escrita pensando en cómo procesa internamente el motor de Power BI. Este tipo de problema suele pasar desapercibido hasta que el modelo crece lo suficiente como para que la lentitud se vuelva evidente.

Cuando un cálculo se construye a base de prueba y error, sin entender del todo por qué funciona, suele terminar siendo una fórmula larguísima y difícil de leer. Si esa persona se va o simplemente olvida su propia lógica, nadie más puede ajustarla con confianza. Por ejemplo:

  • Un cálculo de rentabilidad que da resultados distintos según qué filtro se aplique primero
  • Una comparación contra el año anterior que se rompe apenas cambia el rango de fechas del reporte
  • Un porcentaje que suma más de cien por ciento debido a un problema de contexto no considerado
  • Una medida que un colega no se anima a modificar porque no entiende cómo llegó a ese resultado

Detectar y corregir estos cuatro problemas suele requerir revisar no solo la fórmula en sí, sino todo el modelo de relaciones que la rodea, porque en DAX el resultado de un cálculo depende tanto de la fórmula como del contexto en el que se evalúa. 

Haz que tus medidas de DAX sean confiables y fáciles de mantener

Una fórmula puede funcionar y aun así entregar un resultado incorrecto, ser demasiado lenta o volverse imposible de mantener. Revisamos tus medidas y el modelo que las rodea para detectar problemas de contexto, rendimiento y lógica antes de que afecten tus reportes.

Las ideas que explican por qué DAX se comporta como se comporta

Antes de escribir fórmulas complejas, ayuda tener claros algunos conceptos que explican por qué DAX se comporta como se comporta.

Contexto de fila

Es el contexto que existe cuando una fórmula se evalúa fila por fila, como ocurre naturalmente en una columna calculada. En este contexto, la fórmula «conoce» los valores de esa fila específica, similar a como funciona una fórmula arrastrada en Excel.

La función CALCULATE

Es probablemente la función más importante de todo el lenguaje, porque permite modificar el contexto de filtro dentro de un cálculo: por ejemplo, ignorar el filtro de año para comparar contra un periodo distinto, o aplicar una condición adicional que no viene directamente de los filtros visuales del reporte. Entender bien esta función es lo que separa a quien apenas empieza de quien ya piensa en DAX con soltura. 

Contexto de filtro

Es el conjunto de filtros activos en el momento de evaluar un cálculo: lo que el usuario seleccionó en un slicer, lo que define una fila o columna de una tabla visual, o lo que impone otro cálculo relacionado. Una misma medida puede devolver resultados distintos según qué contexto de filtro esté activo cuando se evalúa. 

Funciones iteradoras

Funciones como las que terminan en X —sumar el resultado de multiplicar dos columnas fila por fila, por ejemplo— permiten cálculos que no se resuelven con una simple agregación, evaluando una expresión para cada fila de una tabla antes de combinarla en un resultado final. 

Inteligencia de tiempo: Cálculos que casi toda empresa necesita

Comparar el desempeño actual contra un periodo anterior es, probablemente, el tipo de cálculo más solicitado en cualquier proyecto de reportería, y DAX incluye funciones específicamente pensadas para resolverlo sin tener que construir la lógica desde cero cada vez. 

Con estas funciones es posible construir, entre otros, cálculos como:

  • El acumulado del año hasta la fecha, actualizado automáticamente cada mes
  • La comparación exacta contra el mismo periodo del año anterior
  • El crecimiento o caída porcentual entre dos periodos definidos
  • El promedio de los últimos meses, ajustado sin intervención manual conforme avanza el calendario
  • La proyección de cierre de un periodo según el ritmo observado hasta el momento 

Estas funciones dependen de que exista una tabla de fechas bien construida y correctamente relacionada con el resto del modelo. Sin esa base, incluso una fórmula de inteligencia de tiempo técnicamente correcta puede arrojar resultados equivocados, algo que se nota especialmente una vez que el reporte se comparte dentro de Microsoft 365 y varias personas lo consultan al mismo tiempo con distintos filtros. 

Las medidas más solicitadas, según a quién le reportan

El tipo de cálculo que más se necesita cambia bastante según el área que va a usar el reporte.

Ventas y comercial

Ícono de gestión de ventas con Power BI

Suele requerir comparaciones de periodos, cálculo de cuotas alcanzadas, y medidas que respondan a filtros cruzados entre vendedor, producto y zona sin perder velocidad al combinarlos. 

Finanzas

Ícono de análisis financiero con Power BI

Aquí los cálculos exigen más precisión: márgenes exactos, acumulados fiscales, comparaciones contra presupuesto que deben coincidir centavo a centavo con lo que ya valida el área contable, sin margen para una fórmula aproximada. 

Human Resources

Ícono de gestión de talento humano con Power BI

Requiere con frecuencia cálculos de rotación en periodos móviles y comparaciones de plantilla entre distintos cortes de tiempo, donde las funciones de inteligencia de tiempo también resultan útiles, aunque con una lógica distinta a la de ventas o finanzas.

Operaciones y logística

Suele necesitar cálculos de eficiencia que combinan varias tablas relacionadas —producción, inventario, tiempos de entrega— donde el rendimiento de las fórmulas importa especialmente por el volumen de datos que suele manejar esta área.

La forma en que resolvemos las fórmulas en cada proyecto

No empezamos escribiendo fórmulas sueltas. Empezamos entendiendo qué pregunta de negocio debe responder cada cálculo dentro del modelo de Power BI, y solo después decidimos qué construcción de DAX es la más adecuada, la más rápida y la más fácil de mantener. 

Definición de qué debe calcular cada medida

Antes de escribir una sola fórmula, aclaramos exactamente qué debe representar cada cálculo: si un porcentaje se calcula sobre el total general o sobre el subtotal filtrado, si una comparación debe incluir o excluir ciertos casos específicos. Esta definición evita ambigüedades que después son difíciles de corregir.

Desarrollamos las fórmulas como medidas centralizadas dentro del modelo, evitando que cada visual tenga su propio cálculo suelto, para que corregir algo en un solo lugar se refleje automáticamente en todo el reporte.

Probamos cómo se comportan las fórmulas con volúmenes de datos reales, no solo con una muestra pequeña, para detectar cálculos lentos antes de que se conviertan en un problema una vez que el reporte está en uso diario.

En cada proyecto de ITD Consulting, dejamos registrado qué hace cada medida y por qué se construyó de esa forma, para que cualquier persona del equipo pueda entenderla y ajustarla más adelante sin depender de quien la escribió originalmente.

Lleva tus cálculos de Power BI a un modelo que pueda escalar

No se trata solo de conseguir que una fórmula entregue el número correcto. Las medidas deben estar centralizadas, rendir bien con grandes volúmenes de datos y poder ser entendidas por otras personas del equipo. Te ayudamos a construir una arquitectura de DAX preparada para crecer sin acumular fórmulas difíciles de mantener. 
Fórmulas de cálculo DAX conectando tablas y visuales dentro de un modelo de Power BI

De una fórmula aislada a un sistema de medidas consistente

Un modelo de datos maduro no tiene fórmulas sueltas resolviendo cada necesidad puntual; tiene un conjunto de medidas base —ventas totales, costos totales, unidades vendidas— sobre las cuales se construyen cálculos más complejos, reutilizando esas piezas en lugar de repetir la misma lógica una y otra vez. 

Este enfoque tiene una ventaja práctica clara: si algún día cambia la definición de qué cuenta como una venta válida, ese ajuste se hace en un solo lugar, y todos los cálculos que dependen de esa medida base se actualizan automáticamente, en lugar de tener que revisar fórmula por fórmula en todo el archivo. 

Construir el modelo pensando en esta reutilización desde el principio, en lugar de ir agregando fórmulas sueltas conforme surgen necesidades, es lo que distingue un archivo de Power BI que sigue siendo manejable después de un año de otro que se vuelve cada vez más frágil con cada cálculo nuevo que alguien agrega. 

Buenas prácticas al escribir fórmulas de DAX

Estas prácticas ayudan a que las fórmulas sigan siendo confiables y comprensibles conforme el modelo crece. 

Preferir medidas sobre columnas calculadas cuando sea posible

Las medidas se calculan solo cuando se necesitan y no ocupan espacio permanente en el modelo, a diferencia de las columnas calculadas, que se almacenan fila por fila. Usar medidas en lugar de columnas, cuando el caso lo permite, mantiene el archivo más liviano. 

Construir medidas base antes que cálculos complejos

Empezar por las medidas simples y fundamentales —totales, conteos básicos— antes de construir comparaciones o porcentajes más elaborados, evita reconstruir la lógica desde cero cuando se necesita un cálculo relacionado. 

Dar nombres claros a cada medida

Un cálculo llamado «Medida final v2» no comunica nada. Nombrar cada fórmula según lo que realmente representa facilita que cualquier persona entienda el reporte sin tener que abrir la fórmula para descifrar qué hace.

Verificar el comportamiento de la fórmula bajo distintas combinaciones de filtros

Un cálculo puede verse correcto sin ningún filtro aplicado y comportarse de forma inesperada apenas alguien filtra por una categoría específica. Revisar varias combinaciones antes de dar por cerrado el desarrollo evita sorpresas una vez que el reporte está en uso. 

¿Qué cambia cuando el modelo tiene buenas fórmulas de DAX detrás?

Los reportes empiezan a responder preguntas que antes requerían exportar datos a otra herramienta o pedirle a alguien un análisis aparte. Comparar contra el año anterior, calcular una proyección o descomponer un resultado por distintas variables se vuelve algo que cualquier usuario puede explorar por su cuenta, incluso desde el mismo panel que consulta dentro de Microsoft 365, sin depender de un análisis especial cada vez. 

También cambia la velocidad con la que se puede confiar en un número nuevo: cuando las medidas base ya están bien construidas, agregar un cálculo relacionado toma minutos en lugar de requerir revisar todo el modelo desde el principio. 

Nada de esto depende de tener memorizada la lista completa de funciones del lenguaje. Depende de entender bien los conceptos de contexto que sostienen cómo se comporta cualquier fórmula, que es precisamente donde más tiempo invertimos al capacitar equipos en ITD Consulting. 

¿Cómo se aprende DAX dentro de un equipo de trabajo?

No hace falta que todo un equipo domine DAX a fondo para que un proyecto de reportería funcione bien. Lo habitual es que una o dos personas dentro de la empresa desarrollen un nivel más profundo, mientras el resto aprende a interpretar los resultados y a identificar cuándo algo no cuadra.

Distintos niveles de conocimiento, distintas necesidades

Un usuario que solo consulta reportes se beneficia de entender la lógica general de un cálculo, sin necesidad de poder escribirlo. Un analista que construye reportes propios necesita manejar medidas básicas y algo de inteligencia de tiempo. Quien mantiene el modelo completo de la empresa necesita un dominio más profundo de contexto y optimización. 

Aprender con datos reales de la empresa, no con ejemplos genéricos

Practicar sobre las preguntas reales que el negocio necesita responder acelera bastante el aprendizaje frente a seguir tutoriales con datos de ejemplo que no representan la complejidad real de los datos de la empresa. 

Documentar mientras se aprende

Llevar un registro simple de qué hace cada fórmula nueva, aunque sea informal, ayuda tanto a consolidar el aprendizaje como a dejar una base útil para quien se una al equipo más adelante y necesite entender el modelo desde cero.

En los proyectos de capacitación que acompaña ITD Consulting, procuramos que este aprendizaje quede dentro de la empresa, integrado con las herramientas que el equipo ya usa a diario dentro de Microsoft 365, en lugar de depender permanentemente de soporte externo para cualquier ajuste menor a una fórmula. 

Haz que tu equipo aproveche mejor todo lo que Power BI puede hacer

Aprender DAX tiene más valor cuando se aplica sobre las preguntas y datos reales de la empresa. Diseñamos acompañamiento y capacitación adaptados al nivel del equipo para que las personas puedan interpretar, construir y mantener medidas con mayor confianza.

FREQUENTLY ASKED QUESTIONS

¿Qué significa DAX y para qué se usa dentro de Power BI?

DAX son las siglas de Data Analysis Expressions, el lenguaje de fórmulas que permite crear cálculos dentro de un modelo de Power BI: desde sumas simples hasta comparaciones de periodos, porcentajes dinámicos y proyecciones basadas en el comportamiento histórico de los datos.

Se parecen en la sintaxis y en muchos nombres de función, pero DAX evalúa los cálculos de forma distinta: una misma fórmula puede comportarse diferente según el contexto de filtro en el que se evalúa, algo que no ocurre de la misma manera en una hoja de cálculo tradicional.

Depende de qué tan profundo se quiera llegar. Los conceptos básicos —sumas, promedios, cálculos simples— se aprenden relativamente rápido. Entender bien el contexto de filtro y funciones como CALCULATE, que permiten construir cálculos más sofisticados, suele tomar más tiempo y práctica constante.

Una columna calculada guarda un valor fijo por cada fila del modelo, ocupando espacio de forma permanente. Una medida se calcula dinámicamente en el momento de consultarse, según el contexto de filtro activo. Elegir correctamente entre una y otra afecta tanto el resultado como el rendimiento del modelo.

Casi siempre se debe al contexto en el que se evalúa cada una: filtros aplicados, relaciones entre tablas, o el uso de funciones que modifican ese contexto, como CALCULATE. Revisar el contexto suele ser el primer paso para entender por qué dos cálculos aparentemente similares no coinciden.

No en el sentido tradicional de programación, aunque ayuda tener lógica estructurada para pensar en condiciones y relaciones entre datos. Es más parecido a dominar bien las fórmulas de una hoja de cálculo avanzada que a aprender un lenguaje de programación completo.

Casi siempre se puede optimizar revisando cómo está construida: evitando cálculos innecesarios fila por fila, aprovechando mejor las relaciones del modelo, o reescribiendo la lógica de una forma que el motor de Power BI procese con más eficiencia.

Sí. Una vez que el modelo con sus medidas se publica, los cálculos se comportan de la misma manera dentro de la plataforma en la nube y dentro de Microsoft 365, incluyendo las actualizaciones automáticas de datos que mantienen esos resultados vigentes.

Aprender lo básico ayuda a interpretar mejor los reportes existentes y a detectar cuándo algo no cuadra. Para modificar o ampliar cálculos ya construidos por otra persona, especialmente en modelos complejos, suele ser más eficiente contar con experiencia especializada que aprender sobre la marcha.

Revisamos el modelo completo, no solo la fórmula que parece estar fallando, porque en DAX el resultado depende tanto del cálculo como del contexto y las relaciones que lo rodean. A partir de ese diagnóstico, corregimos la lógica necesaria y dejamos las medidas documentadas para que el equipo pueda confiar en ellas y mantenerlas con el tiempo. Cabe destacar que te ofrecemos soporte en español para clientes en países como Argentina, Bolivia, Chile, Colombia, Costa Rica, Ecuador, El Salvador, España, Guatemala, Honduras, México, Nicaragua, Panamá, Paraguay, Perú, Uruguay y Venezuela.

Escríbenos

Please write to us with your inquiry, and we will assist you immediately to resolve your questions.
en_USEN