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

URL canónica: https://missyera.com/blog/que-es-dax-en-power-bi/
Última actualización: 2026-10-23
Autora: Gera Flores (Miss Yera)

> **Respuesta corta**
>
> 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

## ¿Qué es DAX?

DAX significa Data Analysis Expressions y es el lenguaje de fórmulas de [Power BI](https://missyera.com/blog/que-es-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](https://missyera.com/blog/formulas-de-excel-las-mas-usadas/): 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.](https://missyera.com/static/diagramas/webp/dax-01-medida.webp)

*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](https://missyera.com/guias/sql-desde-cero/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](https://missyera.com/blog/como-hacer-un-dashboard-en-power-bi/), 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ón | Qué hace | Ejemplo |
|---|---|---|
| SUM | Suma una columna | `SUM(Pedidos[Monto])` |
| AVERAGE | Promedia una columna | `AVERAGE(Pedidos[Monto])` |
| COUNTROWS | Cuenta filas de una tabla | `COUNTROWS(Pedidos)` |
| DISTINCTCOUNT | Cuenta valores distintos | `DISTINCTCOUNT(Pedidos[ClienteID])` |
| DIVIDE | Divide sin romperse si el divisor es cero | `DIVIDE([Margen], [Ventas])` |
| CALCULATE | Calcula con otros filtros | `CALCULATE([Ventas], Tiendas[Ciudad] = "Lima")` |
| FILTER | Devuelve las filas que cumplen una condición | `FILTER(Pedidos, Pedidos[Monto] > 1000)` |
| ALL | Quita los filtros de una tabla o columna | `CALCULATE([Ventas], ALL(Productos))` |
| SUMX | Calcula fila por fila y luego suma | `SUMX(Pedidos, Pedidos[Cantidad] * Pedidos[Precio])` |
| RELATED | Trae un dato de una tabla relacionada | `RELATED(Productos[Categoría])` |
| IF y SWITCH | Condiciones | `IF([Ventas] > [Meta], "Cumplió", "No cumplió")` |
| TOTALYTD y SAMEPERIODLASTYEAR | Acumulados y comparación con el año anterior | `TOTALYTD([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.

[Ver el curso de Power BI](https://missyera.com/cursos/datos/#curso-power-bi)[Los tres cursos de datos](https://missyera.com/cursos/datos/)

## 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ón | Para qué sirve | Ejemplo |
|---|---|---|
| SUM | Sumar una columna | `Ventas = SUM(Tabla[Monto])` |
| CALCULATE | Sumar pero cambiando el filtro | `CALCULATE([Ventas]; Tabla[Canal]="Web")` |
| DIVIDE | Dividir sin que reviente con cero | `DIVIDE([Margen]; [Ventas])` |
| RELATED | Traer un dato de otra tabla relacionada | `RELATED(Productos[Categoria])` |
| SAMEPERIODLASTYEAR | Comparar contra el año anterior | `CALCULATE([Ventas]; SAMEPERIODLASTYEAR(Fechas[Fecha]))` |
| DISTINCTCOUNT | Contar sin repetir | `DISTINCTCOUNT(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](https://missyera.com/blog/power-query-excel-limpiar-datos/) 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](https://missyera.com/blog/power-bi-desde-cero-como-empezar-guia-2026/), y en [la comparación con Excel](https://missyera.com/blog/power-bi-vs-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.

## Contacto

- Diagnóstico de 30 minutos con Miss Yera: https://calendly.com/soymissyera/reunion-con-yera
- Correo: hola@missyera.com
- Esta página en HTML: https://missyera.com/blog/que-es-dax-en-power-bi/
- Índice de todas las páginas en texto: https://missyera.com/llms-index.txt
