Saltar al contenido
ProgramBI

Las funciones DAX más importantes de Power BI, explicadas con ejemplos

Actualizado el 4 de noviembre de 2026 · Guía de ProgramBI · Latinoamérica

En 30 segundos

Power BI · en vivo por Zoom · Chile

Precio
$169.000por nivel · 3 cuotas sin interés
Duración
20 horas por niveldos clases por semana, en vivo
Horario
19:30–21:30hora de Chile
Incluye
En vivo por ZoomGrabaciones de por vida · certificado al terminar

Lunes y miércoles o martes y juevesPróximo inicio: lunes 23 de noviembre de 2026

En esta guía

DAX es el lenguaje de fórmulas de Power BI. Se parece a Excel, y esa es justamente la trampa: las fórmulas se ven familiares, pero funcionan con otra lógica. En Excel calculas celda por celda; en DAX calculas sobre un contexto, es decir, sobre el conjunto de filas que quedan después de aplicar los filtros del informe. Si entiendes eso, el resto son herramientas. Aquí están las 15 funciones que resuelven la gran mayoría de los casos reales, agrupadas por lo que hacen.

Antes de empezar: medidas, no columnas

Una columna calculada se calcula una vez por fila y ocupa memoria. Una medida se calcula en el momento, según los filtros que el usuario tenga activos. Para totales, porcentajes y comparaciones, usa medidas. Regla práctica: si el resultado depende de qué filtró el usuario, es una medida.

1. Agregaciones básicas

SUM, AVERAGE, MIN, MAX. Suman o promedian una columna. Ventas = SUM(Ventas[Monto])

COUNTROWS. Cuenta filas de una tabla. Más claro que contar una columna. N° de pedidos = COUNTROWS(Ventas)

DISTINCTCOUNT. Cuenta valores únicos. Clientes activos = DISTINCTCOUNT(Ventas[ID_Cliente])

2. DIVIDE: la división segura

Margen % = DIVIDE([Ventas] - [Costo], [Ventas]) Si el denominador es cero o está vacío, devuelve vacío en lugar de error. Úsala siempre en vez de «/».

3. CALCULATE: la función más importante de DAX

CALCULATE evalúa una expresión cambiando el contexto de filtro. Es la que te permite responder «¿y si solo miro…?».

Ventas online = CALCULATE([Ventas], Canal[Nombre] = "Online")

Lo que hace: toma todos los filtros que ya hay en el informe, reemplaza el filtro sobre Canal[Nombre] por «Online» y calcula. Si el usuario filtra un mes, la medida respeta ese mes.

4. FILTER: filtros con condiciones complejas

Cuando la condición no es una simple igualdad, combinas CALCULATE con FILTER:

Ventas de pedidos grandes = CALCULATE([Ventas], FILTER(Ventas, Ventas[Monto] > 1000))

Consejo de rendimiento: filtra columnas, no tablas completas, cuando puedas. FILTER(ALL(Producto[Categoría]), …) es más liviano que FILTER(Ventas, …) sobre millones de filas.

5. ALL y ALLEXCEPT: quitar filtros

Para porcentajes sobre el total necesitas el total «sin filtrar»:

% del total = DIVIDE([Ventas], CALCULATE([Ventas], ALL(Producto)))

ALLEXCEPT(Producto, Producto[Categoría]) quita todos los filtros de la tabla menos el de categoría: útil para «% dentro de la categoría».

6. Iteradores: SUMX y AVERAGEX

SUM suma una columna que ya existe. SUMX recorre una tabla fila por fila, calcula una expresión y suma el resultado.

Ventas = SUMX(Ventas, Ventas[Cantidad] * Ventas[Precio_unitario])

Es la clave para convertir moneda por tipo de cambio diario, ponderar promedios o calcular márgenes por línea. AVERAGEX(VALUES(Cliente[ID]), [Ventas]) da el promedio de ventas por cliente, no por fila.

Dentro de un iterador, RELATED trae el valor de la tabla relacionada (lado «uno»):

Costo total = SUMX(Ventas, Ventas[Cantidad] * RELATED(Producto[Costo_unitario]))

8. Inteligencia de tiempo

Requiere una tabla calendario marcada como tabla de fechas, sin huecos.

  • Ventas YTD = TOTALYTD([Ventas], Calendario[Fecha]) — acumulado del año (acepta fecha de cierre fiscal como tercer argumento).
  • Ventas AA = CALCULATE([Ventas], SAMEPERIODLASTYEAR(Calendario[Fecha])) — mismo período del año anterior.
  • Ventas mes anterior = CALCULATE([Ventas], DATEADD(Calendario[Fecha], -1, MONTH))
  • Var. % interanual = DIVIDE([Ventas] - [Ventas AA], [Ventas AA])

9. RANKX: rankings dinámicos

Ranking producto = RANKX(ALL(Producto[Nombre]), [Ventas]) El ALL es clave: sin él, cada producto se compara solo consigo mismo y todos quedan en el puesto 1.

10. SWITCH y SELECTEDVALUE: medidas que cambian según lo que elige el usuario

Con una tabla desconectada Métrica (Ventas, Margen, Unidades):

Valor elegido = SWITCH(SELECTEDVALUE(Métrica[Nombre]), "Ventas", [Ventas], "Margen", [Margen %], "Unidades", [Unidades])

Así un solo gráfico muestra la métrica que el usuario elige en un segmentador.

11. VAR: fórmulas legibles y más rápidas

Crecimiento % = VAR Actual = [Ventas] VAR Anterior = [Ventas AA] RETURN DIVIDE(Actual - Anterior, Anterior)

Las variables se calculan una vez, hacen la fórmula legible y evitan repetir cálculos.

— Descarga la plantilla con estas 15 medidas ya creadas.

Los errores de DAX más comunes

  • Usar columnas calculadas para totales.
  • Olvidar ALL en RANKX o en porcentajes del total.
  • Inteligencia de tiempo sin tabla calendario o con fechas que tienen hora.
  • Relaciones bidireccionales «por si acaso», que generan resultados ambiguos.
  • Copiar fórmulas de Excel esperando que funcionen igual.

Por dónde seguir

Domina primero CALCULATE, DIVIDE, SUMX y la inteligencia de tiempo: con eso resuelves el 80 % de los informes de negocio. Después vienen el contexto de transición, las tablas virtuales y la optimización.

Si quieres aprenderlo con ejemplos de tu país, elige tu guía: Chile · México · Colombia · Argentina · Perú · Uruguay · Paraguay.

— El curso Power BI en vivo de ProgramBI dedica módulos completos a DAX: CALCULATE y FILTER, Time Intelligence, RANKX e iteradores y tabla de métricas con SWITCH. 20 horas en vivo por Zoom, grabaciones de por vida y certificado.

Lo que cambia, en la práctica

Curso en vivo vs. aprender solo vs. universidad

  • Horas y ritmo

    En vivo
    20 horas por nivel con horario fijo
    Autodidacta
    A tu ritmo, sin fecha de término
    Universidad
    Semestres y ramos de carrera
  • Feedback de un profe

    En vivo
    Sí, en cada clase y por el campus
    Autodidacta
    No (o foros)
    Universidad
    Sí, en clases y ayudantías
  • Tiempo hasta aplicarlo

    En vivo
    Semanas: sales con un tablero propio
    Autodidacta
    Depende de tu disciplina
    Universidad
    Años, con título profesional
  • Certificado

    En vivo
    Certificado de ProgramBI al completar
    Autodidacta
    No
    Universidad
    Título profesional
  • Costo

    En vivo
    Un pago por curso (o por nivel)
    Autodidacta
    Gratis, pero cuesta el tiempo
    Universidad
    Matrícula y arancel de la carrera

Comparación cualitativa: no incluye precios de terceros. El precio del curso en vivo sale de la lista vigente de ProgramBI.

Preguntas frecuentes

¿Qué es DAX?
Data Analysis Expressions, el lenguaje de fórmulas de Power BI, Power Pivot y Analysis Services.
¿Cuál es la función DAX más importante?
CALCULATE, porque permite modificar el contexto de filtro y está detrás de casi todas las medidas de negocio.
¿Cuál es la diferencia entre SUM y SUMX?
SUM suma una columna; SUMX calcula una expresión fila por fila y luego suma.
¿Se puede aprender DAX sin saber programar?
Sí. Requiere práctica con el concepto de contexto, no experiencia en programación.
¿Cuánto tiempo toma aprender DAX?
Lo esencial, unas 3 a 4 semanas de práctica regular. Dominarlo es un proceso más largo.
¿DAX sirve en Excel?
Sí, en Power Pivot dentro de Excel se usa el mismo lenguaje.