Si alguna vez construiste una gráfica en Power BI y pensaste “ojalá pudiera mostrar este número de otra manera”, estás listo para aprender DAX. Las funciones DAX que todo analista de Power BI debería conocer son los bloques de construcción detrás de casi todos los reportes útiles, desde simples totales hasta el crecimiento año contra año.
DAX significa Data Analysis Expressions (expresiones de análisis de datos). Es el lenguaje de fórmulas que se usa en Power BI, Excel Power Pivot y SQL Server Analysis Services. Si ya escribes fórmulas de Excel, te sentirás como en casa. Muchas funciones DAX incluso comparten nombre con funciones de Excel como SUM, IF y AVERAGE.
Para un analista de datos principiante, esta habilidad es un verdadero impulso profesional. A los clientes les encantan los dashboards. Saber convertir el tráfico web, las ventas o los datos de formularios en bruto en números claros te hace mucho más valioso que alguien que solo construye páginas. Un buen reporte de Power BI puede mostrar qué páginas generan clientes potenciales, qué campañas dan resultados y en qué punto se van los visitantes.
Esta guía desglosa en lenguaje sencillo las funciones DAX más importantes. Aprenderás qué hace cada una, cuándo usarla y verás un ejemplo corto que puedes copiar. No se necesitan matemáticas avanzadas ni experiencia en programación.
¿Qué Es DAX en Power BI?
DAX es un lenguaje de fórmulas que te permite crear cálculos nuevos a partir de los datos que ya cargaste. Escribes una fórmula, y Power BI calcula la respuesta para cada gráfica, tabla y filtro de tu reporte.
Piensa en él como las fórmulas de Excel, con una gran mejora. Las fórmulas DAX reaccionan a tu reporte. Cuando un espectador hace clic en “2025” en un segmentador, tu fórmula se recalcula solo para 2025. La escribes una vez y funciona en todas partes.
Columnas Calculadas vs. Medidas
Antes de escribir cualquier fórmula, necesitas saber dónde vive. DAX tiene dos tipos principales:
- Las columnas calculadas agregan una columna nueva a una tabla. Se calculan fila por fila cuando se cargan los datos.
- Las medidas se calculan sobre la marcha, según lo que se muestra en tu reporte. Se usan para totales, promedios y razones.
Como regla general, usa una medida cuando quieras un número que resuma datos. Usa una columna calculada cuando necesites un valor nuevo para cada fila, como una etiqueta de categoría. La mayoría de las funciones de abajo funcionan mejor dentro de medidas.
Funciones Básicas de Agregación
Estas son las primeras funciones DAX que usarás. Funcionan como los totales de una tabla dinámica de Excel.
SUM
SUM suma todos los valores de una columna.
Total Sales = SUM(Sales[Amount])
Esta es la medida más simple que puedes escribir, y la usarás constantemente.
AVERAGE
AVERAGE calcula la media de una columna.
Average Order Value = AVERAGE(Sales[Amount])
COUNT, COUNTROWS y DISTINCTCOUNT
Contar es una parte enorme del análisis de datos. Cada función de conteo responde una pregunta ligeramente distinta:
- COUNT cuenta los números de una columna.
- COUNTROWS cuenta las filas de una tabla.
- DISTINCTCOUNT cuenta solo los valores únicos.
Number of Orders = COUNTROWS(Sales)
Unique Customers = DISTINCTCOUNT(Sales[CustomerID])
DISTINCTCOUNT es una favorita. Si un cliente compra cinco veces, sigue contando como un cliente único.
MIN y MAX
MIN y MAX devuelven los valores más pequeño y más grande de una columna. Son útiles para encontrar la primera o la última fecha de pedido.
Latest Order = MAX(Sales[OrderDate])
La Función DAX Más Poderosa: CALCULATE
Si solo aprendes una función de este artículo, que sea CALCULATE. Te permite cambiar los filtros de un cálculo. La mayor parte del DAX avanzado se construye sobre ella.
Online Sales = CALCULATE(SUM(Sales[Amount]), Sales[Channel] = "Online")
Así se lee:
- La primera parte,
SUM(Sales[Amount]), es el cálculo. - La segunda parte,
Sales[Channel] = "Online", es el filtro. - Juntas significan “suma las ventas, pero solo de los pedidos en línea”.
Con CALCULATE puedes comparar una parte con el todo. Por ejemplo, puedes mostrar las ventas en línea junto a las ventas totales en la misma gráfica.
FILTER
FILTER devuelve solo las filas que cumplen una condición. A menudo se usa dentro de CALCULATE cuando tu regla es más compleja.
Big Orders = CALCULATE(COUNTROWS(Sales), FILTER(Sales, Sales[Amount] > 500))
Esto cuenta solo los pedidos de más de $500.
ALL
ALL elimina filtros. Suena extraño, pero así se calculan los porcentajes de un total. Sin ALL, cada segmentador reduciría también tu “total”.
Percent of All Sales = DIVIDE(SUM(Sales[Amount]), CALCULATE(SUM(Sales[Amount]), ALL(Sales)))
Funciones Lógicas para Tomar Decisiones Inteligentes
Las funciones lógicas permiten que tu reporte tome decisiones, igual que en Excel.
IF
IF evalúa una condición y devuelve una de dos respuestas.
Sales Status = IF(SUM(Sales[Amount]) >= 10000, "On Target", "Below Target")
SWITCH
Cuando tienes muchas condiciones, las fórmulas IF anidadas se vuelven un desorden. SWITCH es más limpia y fácil de leer.
Size Label =
SWITCH(
TRUE(),
Sales[Amount] >= 1000, "Large",
Sales[Amount] >= 500, "Medium",
"Small"
)
DIVIDE
DIVIDE es una forma más segura de dividir. Si el número de abajo es cero, una división normal da un error. DIVIDE devuelve un espacio en blanco, o un valor que tú elijas.
Conversion Rate = DIVIDE([Orders], [Visitors], 0)
Usa DIVIDE en cada razón que construyas. Mantiene limpios tus dashboards.
Funciones de Inteligencia de Tiempo
La inteligencia de tiempo es donde DAX realmente brilla. Estas funciones te ayudan a comparar fechas, algo que todo negocio quiere. Para usarlas, tu modelo necesita una tabla de fechas adecuada y sin huecos.
TOTALYTD
TOTALYTD te da un total acumulado desde el inicio del año.
Sales YTD = TOTALYTD(SUM(Sales[Amount]), 'Date'[Date])
SAMEPERIODLASTYEAR
Esta función desplaza las fechas un año hacia atrás, para que puedas comparar este año con el año pasado.
Sales Last Year = CALCULATE(SUM(Sales[Amount]), SAMEPERIODLASTYEAR('Date'[Date]))
DATEADD
DATEADD mueve las fechas hacia adelante o hacia atrás por días, meses, trimestres o años. Es más flexible que SAMEPERIODLASTYEAR.
Sales Last Month = CALCULATE(SUM(Sales[Amount]), DATEADD('Date'[Date], -1, MONTH))
Con dos medidas, ya puedes construir una fórmula de crecimiento año contra año:
YoY Growth = DIVIDE([Total Sales] - [Sales Last Year], [Sales Last Year])
Funciones de Texto y de Relaciones
Conviene conocer pronto algunas funciones más.
- CONCATENATE o el símbolo
&une textos, como nombres y apellidos. - RELATED trae un valor de otra tabla, como el nombre de un producto a una tabla de ventas.
- LEFT, RIGHT y FORMAT limpian y dan estilo a textos y fechas.
Full Name = Customers[FirstName] & " " & Customers[LastName]
Consejos para Aprender DAX Más Rápido
DAX puede sentirse extraño al principio. Estos hábitos ayudan:
- Empieza con algo pequeño. Construye una medida simple y luego amplíala.
- Usa variables. Las palabras clave
VARyRETURNhacen más fáciles de leer las fórmulas largas. - Nombra las medidas con claridad. “Total Sales” siempre es mejor que “Measure 1”.
- Da formato a tu código. Coloca cada parte de una fórmula larga en su propia línea.
- Practica con datos reales. Prueba con la analítica de tu propio sitio web o con un conjunto de datos de ejemplo gratuito.
Conclusión
Aprender las funciones DAX que todo analista de Power BI debería conocer es una de las formas más rápidas de subir de nivel tus habilidades con datos. No necesitas memorizar cientos de fórmulas. Un pequeño conjunto básico cubrirá la mayor parte de lo que construyas.
Aquí tienes un repaso rápido de lo que aprendiste:
- SUM, AVERAGE, COUNTROWS y DISTINCTCOUNT manejan los totales y conteos cotidianos.
- CALCULATE cambia los filtros y desbloquea el análisis avanzado.
- FILTER y ALL te dan control sobre exactamente qué filas se cuentan.
- IF, SWITCH y DIVIDE agregan lógica y mantienen los resultados libres de errores.
- TOTALYTD, SAMEPERIODLASTYEAR y DATEADD simplifican las comparaciones de fechas.
Tu siguiente paso es abrir Power BI Desktop y probarlas. Carga un conjunto de datos pequeño, escribe una medida con SUM y luego envuélvela en CALCULATE. Los pequeños logros generan confianza rápidamente.
Para un analista de datos principiante, estas habilidades abren puertas reales. Puedes ofrecer a los clientes más que un sitio bonito. Puedes mostrarles lo que dicen los números y ayudarlos a tomar mejores decisiones. Sigue practicando, mantén la curiosidad y pronto las funciones DAX que todo analista de Power BI debería conocer te parecerán algo natural.
