Analítica y dashboards

DAX: qué es, funciones más usadas y ejemplos en Power BI

8 min de lectura
Qué es DAX en Power BI y para qué sirve

DAX significa Data Analysis Expressions y es el lenguaje de fórmulas de Power BI (también está en Excel, en Power Pivot). Sirve para crear cálculos que no vienen listos en tus datos: el crecimiento respecto al mes pasado, el porcentaje que representa cada región del total, un acumulado del año. Si tus datos son la materia prima, DAX es donde le sacas las respuestas que importan.

RESUMEN

  • ¿Qué es DAX
  • DAX vs fórmulas de Excel: la diferencia clave
  • Medidas y columnas calculadas
  • Un ejemplo de DAX para arrancar
  • Ejemplos de medidas DAX que se usan en casi todo dashboard
Tabla de contenidos

¿Qué es DAX?

DAX significa Data Analysis Expressions y es el lenguaje de fórmulas de Power BI (también está en Excel, en Power Pivot). Sirve para crear cálculos que no vienen listos en tus datos: el crecimiento respecto al mes pasado, el porcentaje que representa cada región del total, un acumulado del año. Si tus datos son la materia prima, DAX es donde le sacas las respuestas que importan.

La buena noticia para quien viene de fórmulas de Excel: DAX se le parece bastante. Usa funciones con nombres conocidos (SUM, AVERAGE, IF). La diferencia es cómo piensa, que veremos ahora.

Tabla de ventas por mes con la venta del año anterior y una medida DAX que calcula el crecimiento sobre esas dos columnas.
Una fórmula de Excel se queda quieta en su celda. Una medida DAX se vuelve a calcular cada vez que alguien toca un filtro del tablero.

DAX vs fórmulas de Excel: la diferencia clave

Si vienes de SQL, la analogía más cercana a las medidas DAX son las funciones de ventana: calculan sobre un conjunto de filas relacionadas sin colapsar el detalle.

Aunque se parezcan, piensan distinto:

  • Excel trabaja celda por celda: una fórmula opera sobre celdas concretas (A1, B2).
  • DAX trabaja sobre columnas y tablas enteras a la vez, y entiende las relaciones entre tablas. No dices "suma A1 a A10", dices "suma la columna Ventas", y DAX la calcula según el contexto (el filtro, la fila del dashboard).

Ese "según el contexto" es lo que confunde al inicio y lo que lo hace potente: una misma medida DAX da el total general, el de una región o el de un mes, según dónde la pongas en el dashboard.

Medidas y columnas calculadas

  • Medida: un cálculo que se resuelve según el contexto del informe (total de ventas, promedio, crecimiento). Es lo más usado y lo más potente.
  • Columna calculada: una columna nueva que se calcula fila por fila y se guarda en la tabla (por ejemplo, margen = precio menos costo).

Regla práctica: si es un resumen que cambia con los filtros, usa una medida. Si es un dato por fila, una columna calculada. Empezar por medidas simples es el mejor camino.

Un ejemplo de DAX para arrancar

Una medida típica: Ventas Totales = SUM(Ventas[Monto]). Con eso, Power BI suma el monto según lo que estés viendo. Otra muy usada es el crecimiento, que compara con el periodo anterior usando funciones de tiempo. No necesitas dominar DAX para tu primer dashboard, pero en cuanto quieras porcentajes, comparativos o acumulados, DAX es el paso que te lo da. Se aprende de a poco, medida por medida.

Ejemplos de medidas DAX que se usan en casi todo dashboard

Estas cinco medidas resuelven la mayoría de los reportes que me piden en empresas. Copia, cambia los nombres de tabla y columna, y listo:

  • Total de ventas: Ventas = SUM(Pedidos[Monto])
  • Ventas del año anterior: Ventas LY = CALCULATE([Ventas], SAMEPERIODLASTYEAR(Calendario[Fecha]))
  • Crecimiento contra el año anterior: Crecimiento % = DIVIDE([Ventas] - [Ventas LY], [Ventas LY])
  • Porcentaje sobre el total: % del total = DIVIDE([Ventas], CALCULATE([Ventas], ALL(Productos)))
  • Acumulado del año: Ventas YTD = TOTALYTD([Ventas], Calendario[Fecha])

Las cuatro últimas necesitan una tabla calendario marcada como tabla de fechas; sin ella, las funciones de tiempo devuelven cualquier cosa. Qué hace CALCULATE por dentro y cuáles son las funciones que más se usan está en las secciones que siguen.

CALCULATE: la función que más vas a usar

CALCULATE hace una sola cosa: calcula una medida cambiando los filtros. Por eso aparece en casi todas las medidas que valen la pena.

Ventas Lima = CALCULATE([Ventas], Tiendas[Ciudad] = "Lima")

Se lee así: calcula las ventas, pero solo para las tiendas de Lima. Si pones esa medida en una tabla por mes, te da las ventas de Lima de cada mes, aunque el informe no tenga ningún filtro de ciudad.

  • El primer argumento es lo que quieres calcular, normalmente otra medida.
  • Los siguientes son filtros. Puedes poner varios, y se aplican todos a la vez.
  • Un filtro dentro de CALCULATE reemplaza al filtro del informe sobre esa misma columna. Si el usuario eligió Arequipa en una segmentación, Ventas Lima sigue mostrando Lima.

Ese último punto es el que más confunde al empezar. Cuando una medida da un número que no esperabas, casi siempre es porque un CALCULATE está pisando un filtro del informe.

Las funciones DAX más usadas

Con estas funciones se arma casi cualquier dashboard de negocio:

FunciónQué haceEjemplo
SUMSuma una columnaSUM(Pedidos[Monto])
AVERAGEPromedia una columnaAVERAGE(Pedidos[Monto])
COUNTROWSCuenta filas de una tablaCOUNTROWS(Pedidos)
DISTINCTCOUNTCuenta valores distintosDISTINCTCOUNT(Pedidos[ClienteID])
DIVIDEDivide sin romperse si el divisor es ceroDIVIDE([Margen], [Ventas])
CALCULATECalcula con otros filtrosCALCULATE([Ventas], Tiendas[Ciudad] = "Lima")
FILTERDevuelve las filas que cumplen una condiciónFILTER(Pedidos, Pedidos[Monto] > 1000)
ALLQuita los filtros de una tabla o columnaCALCULATE([Ventas], ALL(Productos))
SUMXCalcula fila por fila y luego sumaSUMX(Pedidos, Pedidos[Cantidad] * Pedidos[Precio])
RELATEDTrae un dato de una tabla relacionadaRELATED(Productos[Categoría])
IF y SWITCHCondicionesIF([Ventas] > [Meta], "Cumplió", "No cumplió")
TOTALYTD y SAMEPERIODLASTYEARAcumulados y comparación con el año anteriorTOTALYTD([Ventas], Calendario[Fecha])

Dos consejos que ahorran horas. Usa DIVIDE en vez del símbolo de dividir: si el divisor es cero, devuelve vacío en lugar de un error que ensucia el visual. Y cuando necesites multiplicar dos columnas antes de sumar, como cantidad por precio, usa SUMX: SUM solo puede sumar una columna que ya existe.

Preguntas frecuentes

¿Qué hace la función CALCULATE en DAX?

Calcula una medida cambiando los filtros. Por ejemplo, CALCULATE([Ventas], Tiendas[Ciudad] = "Lima") da las ventas solo de Lima, sin importar qué ciudad esté elegida en el informe. Es la función más usada de DAX porque casi todo cálculo de negocio es una medida con algún filtro distinto.

¿Cuáles son las funciones DAX más usadas?

SUM, AVERAGE, COUNTROWS, DISTINCTCOUNT, DIVIDE, CALCULATE, FILTER, ALL, SUMX, RELATED, IF y las de tiempo como TOTALYTD y SAMEPERIODLASTYEAR. Con esas se resuelve la mayoría de dashboards de negocio.

¿Necesito DAX para usar Power BI?

No para lo básico. Puedes crear dashboards arrastrando campos sin escribir DAX. Lo necesitas cuando quieres cálculos personalizados como crecimientos, porcentajes sobre el total o acumulados.

¿DAX es difícil de aprender?

Lo básico se parece a las fórmulas de Excel y se aprende rápido. Lo que cuesta al inicio es entender el contexto de filtro (cómo una medida cambia según dónde la uses), pero con práctica y ejemplos se domina.

¿DAX es lo mismo que las fórmulas de Excel?

Se parecen y comparten funciones, pero no son iguales. Excel opera sobre celdas; DAX opera sobre columnas y tablas enteras entendiendo relaciones y contexto. Saber Excel ayuda a aprender DAX más rápido.

El tablero se aprende haciendo uno entero

La parte difícil de Power BI no es un botón: es que el modelo de datos de abajo esté bien y el tablero conteste lo que la gerencia pregunta. Eso es lo que se arma en el curso: 30 horas grabadas, desde cargar la data hasta publicar el dashboard, con los archivos de clase.

Las seis funciones que vas a usar casi siempre

DAX tiene cientos de funciones y eso asusta al principio. En la práctica, con seis resuelves casi todo lo que pide un tablero de gestión.

FunciónPara qué sirveEjemplo
SUMSumar una columnaVentas = SUM(Tabla[Monto])
CALCULATESumar pero cambiando el filtroCALCULATE([Ventas]; Tabla[Canal]="Web")
DIVIDEDividir sin que reviente con ceroDIVIDE([Margen]; [Ventas])
RELATEDTraer un dato de otra tabla relacionadaRELATED(Productos[Categoria])
SAMEPERIODLASTYEARComparar contra el año anteriorCALCULATE([Ventas]; SAMEPERIODLASTYEAR(Fechas[Fecha]))
DISTINCTCOUNTContar sin repetirDISTINCTCOUNT(Tabla[Cliente])

CALCULATE es la que hay que entender de verdad

Las demás se aprenden leyendo. CALCULATE no, porque hace algo que no se ve: cambia el contexto en el que se evalúa el cálculo. Si tienes una medida de ventas y la envuelves en un CALCULATE con un filtro, el resultado deja de depender de lo que el usuario seleccionó en el tablero y pasa a depender de lo que tú escribiste.

Ese es el momento en que DAX deja de parecerse a Excel. En Excel la fórmula mira las celdas que le señalas; en DAX mira lo que el filtro de la página esté aplicando en ese instante. Cuando un número no te cuadra, casi siempre es esto.

Columna calculada o medida

La pregunta que más confunde al empezar. La regla corta que uso: si el resultado cambia según lo que el usuario filtre en el tablero, va como medida. Si es un atributo fijo de cada fila, como la categoría de un producto, va como columna calculada. Las columnas ocupan memoria en el archivo; las medidas se calculan al vuelo.

Y algo que ahorra mucho dolor: no arregles con DAX lo que se debía limpiar antes. Power Query es el lugar de la limpieza. Si tu medida tiene cinco condiciones anidadas para saltear datos sucios, el problema está aguas arriba.

Si estás empezando, acá está el orden completo, y en la comparación con Excel se ve cuándo conviene dar el salto.

Preguntas frecuentes

¿Cuál es la diferencia entre una medida y una columna calculada?

La medida se calcula según lo que el usuario filtre en el tablero y no ocupa espacio en el archivo. La columna calculada se calcula una vez por fila al cargar los datos y sí ocupa memoria. Si el número depende del filtro, es medida.

¿Para qué sirve CALCULATE?

Para evaluar un cálculo cambiando el contexto de filtro. Es lo que te permite poner en el mismo tablero las ventas totales y las ventas de un solo canal, sin que el filtro de la página las pise.

¿Necesito saber DAX para usar Power BI?

Para hacer un tablero básico, no: arrastrar campos alcanza. DAX hace falta cuando el número que quieres no sale de sumar una columna, como comparaciones contra el año anterior o acumulados.

Diagnóstico sin costo

Aterriza tu proyecto de IA con Gera

Déjame tus datos y te escribo para coordinar un diagnóstico de 30 minutos: vemos el proceso que quieres resolver y cuál sería el primer paso con retorno.

Te escribo en menos de 24 horas hábiles. Sin costo y sin compromiso.

¿Prefieres elegir tú el horario? Agenda tu reunión con Gera

¿Llegaste buscando aprenderlo tú?

Las clases grabadas de SQL + Python, Excel y Power BI desde cero, las que dicté en aula. Desde S/120 y te quedan para siempre.

Ver los cursos grabados
dax

Comparte este artículo:

Sigue a Miss Yera:
WhatsApp directo
¿Tienes alguna duda o consulta?