DataTips – Top 10 funciones DAX que todo analista de Power BI debe conocer (con ejemplos y explicación detallada)

DAX (Data Analysis Expressions) es el lenguaje de fórmulas detrás del motor de Power BI. Dominarlo es esencial para transformar datos en insights reales.
Aquí te comparto el top 10 de funciones DAX que todo analista de datos debería conocer, con ejemplos prácticos listos para usar.

CALCULATE

¿Qué hace?
CALCULATE evalúa una expresión modificando el contexto de filtro. Es la función más importante de DAX y se usa para redefinir cómo y cuándo se calcula una medida.

¿Para qué sirve?
Te permite crear KPIs avanzados como ventas filtradas por producto, cliente, país, etc., incluso si esos filtros no están aplicados en la visual.

VentasCorporativas := CALCULATE(SUM(Ventas[Monto]), Clientes[Segmento] = "Corporativo")

Ideal para: KPIs por segmentos, comparaciones dinámicas, escenarios de negocio.

FILTER

¿Qué hace?
Crea una tabla de filtro personalizada que se puede aplicar dentro de CALCULATE u otras funciones.

¿Para qué sirve?
Te permite controlar exactamente qué datos querés incluir en un cálculo, usando condiciones más complejas que los filtros visuales.

VentasAltas := CALCULATE(SUM(Ventas[Monto]), FILTER(Ventas, Ventas[Monto] > 10000))

Ideal para: cálculos condicionales complejos, control de granularidad, limpieza lógica.

ALL

¿Qué hace?
Remueve todos los filtros del contexto actual, devolviendo todos los valores de una tabla o columna.

¿Para qué sirve?
Esencial para calcular totales globales, promedios generales, o para obtener porcentajes del total.

PorcentajeVentas := DIVIDE(SUM(Ventas[Monto]), CALCULATE(SUM(Ventas[Monto]), ALL(Ventas)))

Ideal para: porcentajes del total, comparación de partes vs todo.

RELATED

¿Qué hace?
Trae un valor de una tabla relacionada (por relación en el modelo de datos).

¿Para qué sirve?
Permite acceder fácilmente a información contextual, como el nombre de un cliente, categoría del producto o país del vendedor, sin tener que unir tablas manualmente.

NombreCliente := RELATED(Clientes[Nombre])

Ideal para: enriquecer columnas, cálculos contextuales por jerarquías.

IF

¿Qué hace?
Evalúa una condición y devuelve un valor si es verdadera y otro si es falsa.

¿Para qué sirve?
Es la estructura básica de la lógica condicional, útil para clasificaciones simples y validaciones.

doVenta := IF(Ventas[Monto] > 5000, "Alta", "Baja")

Ideal para: segmentar, clasificar, validar datos.

SWITCH

¿Qué hace?
Evalúa múltiples condiciones de forma más limpia que varios IF anidados.

¿Para qué sirve?
Perfecta para crear etiquetas o categorías basadas en rangos.

Rango := SWITCH(TRUE(), 
    Ventas[Monto] < 1000, "Bajo",
    Ventas[Monto] < 5000, "Medio",
    "Alto"
)

Ideal para: etiquetas dinámicas, escalas de prioridad, rangos de valor.

SUMX

¿Qué hace?
Itera sobre una tabla y suma los resultados de una expresión por fila.

¿Para qué sirve?
A diferencia de SUM, que solo trabaja con una columna, SUMX puede usar operaciones por fila, como multiplicaciones o condiciones.

GananciaTotal := SUMX(Ventas, Ventas[Cantidad] * Ventas[PrecioUnitario])

Ideal para: cálculos fila a fila, márgenes, tasas dinámicas.

DATESYTD, DATESMTD, DATESQTD

¿Qué hacen?
Devuelven rangos de fechas para Año/Mes/Trimestre hasta la fecha seleccionada.

¿Para qué sirven?
Facilitan el cálculo de KPIs acumulados como ventas año a la fecha, sin tener que escribir filtros de fecha complejos.

VentasYTD := CALCULATE(SUM(Ventas[Monto]), DATESYTD(Calendario[Fecha]))

Ideal para: acumulados, comparación con períodos anteriores, performance de tiempo.

EARLIER

¿Qué hace?
Permite hacer referencia al valor anterior en el contexto de fila. Es útil en columnas calculadas.

¿Para qué sirve?
Te permite comparar una fila con otra dentro de la misma tabla, ideal para acumulados o rankings en columnas.

VentasAcumuladas := CALCULATE(SUM(Ventas[Monto]), 
FILTER(Ventas, Ventas[Fecha] <= EARLIER(Ventas[Fecha])))

Ideal para: acumulados personalizados, comparaciones por fila.

RANKX

¿Qué hace?
Calcula el ranking de un elemento dentro de un conjunto basado en una medida.

¿Para qué sirve?
Es excelente para crear tablas de posiciones, rankings de clientes, productos o regiones.

RankingClientes := RANKX(ALL(Clientes), [TotalVentas])

Ideal para: rankings, top N, visuales competitivos.


Sin duda estas funciones DAX serán parte de tu día a día

Estas 10 funciones son el corazón del análisis de datos en Power BI. No solo te ayudarán a resolver problemas complejos con elegancia, sino que también elevarán tu perfil como analista profesional.
¡Dominalas y estarás varios pasos por delante en cualquier proyecto de BI!

Compartir:
Equipo de redacción dataXpertos
Posts created 23

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top