¿Qué es DAX?
DAX o Expresiones de Análisis de Datos impulsan todos los cálculos que puedes realizar en Power BI. Las fórmulas DAX son versátiles, dinámicas y muy potentes: te permiten crear nuevos campos y tablas en tu modelo. DAX es un lenguaje de fórmulas utilizado en Power BI, Power Pivot y modelos tabulares SSAS
Las fórmulas DAX están formadas por 3 componentes básicos, y este tutorial cubrirá cada uno de ellos:
- Sintaxis - La sintaxis adecuada de DAX se compone de diversos elementos, algunos de los cuales son comunes a todas las fórmulas.
- Funciones - Las funciones DAX son fórmulas predefinidas que toman algunos parámetros y realizan un cálculo específico.
- Contexto - DAX utiliza el contexto para determinar qué filas deben utilizarse para realizar un cálculo.
¿Por qué es importante DAX en Power BI?
Las fórmulas DAX te permiten sacar el máximo partido a tus datos y a Power BI para resolver problemas empresariales de forma eficaz.
Puedes realizar cálculos sencillos (como una simple suma o media) y crear la mayoría de los visuales sin tocar DAX. Por ejemplo, si quisieras crear un gráfico sencillo que mostrara el beneficio total, podrías arrastrar el campo beneficio a la sección Valores del gráfico, y éste realizaría una suma de las filas de ese campo. Sin embargo, hay dos casos en los que sería mejor crear una fórmula DAX:
- Si quisieras reutilizar una fórmula en varios lugares, como en varios gráficos o como expresión en otras fórmulas DAX. En este caso, utilizar una fórmula DAX haría que tu informe fuera más eficaz y más fácil de modificar en el futuro, ya que sólo tendrías que cambiar una única fórmula en lugar de cambiar muchas fórmulas individuales en cada lugar en que se utilizan.
- Si quisieras crear fórmulas complejas o personalizadas en las que un simple
SUMoAVERAGEno fueran suficientes para el problema empresarial que tratas de resolver.
Domina Power BI desde cero
¿Dónde se utilizan las fórmulas DAX en Power BI?
Hay tres formas de utilizar las fórmulas DAX en Power BI:
- Tablas calculadas - Estos cálculos añadirán una tabla adicional al informe basada en una fórmula.
- Columnas calculadas - Estos cálculos añadirán una columna adicional a una tabla basándose en una fórmula. Estas columnas se tratan como cualquier otro campo de la tabla.
- Medidas - Estos cálculos añadirán una medida resumida o agregada a una tabla basándose en una fórmula.
La principal diferencia entre estos tres tipos de cálculo es su contexto (más adelante hablaremos de ello) y los resultados que producen.
Para añadir cualquiera de estos tipos de cálculos a un modelo, ve a la pestaña Modelado de la cinta. Aquí encontrarás tres opciones para añadir una nueva medida, columna calculada o tabla. También puedes hacer clic con el botón derecho en una tabla del panel Campos y obtener la opción de añadir una nueva medida o columna calculada en el menú desplegable.

Empieza a aprender Power BI gratis
Funciones DAX en Power BI
Cómo escribir una fórmula DAX
Las fórmulas DAX son intuitivas y fáciles de leer. Esto facilita la comprensión de los fundamentos de DAX para que puedas empezar a escribir tus propias fórmulas con relativa rapidez. Repasemos los componentes básicos de una sintaxis DAX adecuada.

- El nombre de la medida o columna calculada
- El operador igual a ("=") indica el inicio de la fórmula
- Una función DAX
- Apertura (y cierre) de paréntesis ("()")
- Referencias a columnas y/o tablas
- Ten en cuenta que cada parámetro posterior de una función se separa con una coma (",")
Las funciones DAX también pueden anidarse unas dentro de otras para realizar múltiples operaciones de forma eficaz. Esto puede ahorrar mucho tiempo al escribir fórmulas DAX. Por ejemplo, a menudo es útil tener varias sentencias IF anidadas o utilizar la función IFERROR para envolver otra función, de modo que cualquier error en la fórmula se represente con el valor que especifiques.
Algunas de las funciones DAX más utilizadas en los informes son:
- Cálculos sencillos:
COUNT,DISTINCTCOUNT,SUM,AVERAGE,MIN,MAX. SUMMARISE: Devuelve una tabla que suele utilizarse para aplicar agregaciones sobre diferentes agrupaciones.CALCULATE: Realiza una agregación junto con uno o varios filtros. Cuando especifiques más de un filtro, la función realizará el cálculo cuando todos los filtros sean verdaderos.IF: En función de una condición lógica, devolverá un valor distinto si es verdadero o falso. Es similar a la operaciónCASE WHENde SQL.IFERROR: Busca cualquier error de una función interna y devuelve un resultado especificadoISBLANK: Esta función comprueba si las filas de una columna están en blanco y devuelve verdadero o falso. Es útil junto con otras funciones como IF.EOMONTH: Devuelve el último día del mes de una fecha dada (referencia de columna en un formato de fecha) para tantos meses en el pasado o en el futuro.DATEDIFF: devuelve la diferencia entre dos fechas (ambas como referencias de columna en formatos de fecha) en días, meses, trimestres, años, etc.
Comprender el contexto en las fórmulas DAX
Las fórmulas DAX en Power BI son dinámicas y cambian según el contexto en el que se crearon. Es importante comprender cómo funcionan los contextos en DAX, ya que puede ahorrarte muchos dolores de cabeza cuando te encuentres con errores confusos en tus fórmulas.
Hay dos tipos principales de contexto en DAX: contexto de fila y contexto de filtro.
Contexto de fila
Se refiere sólo a "la fila actual" en todas las columnas de una tabla y se extiende a todas las columnas de las tablas relacionadas. Este tipo de contexto permite a la fórmula DAX saber qué filas debe utilizar para una fórmula concreta.
Aquí tienes un ejemplo de fórmula para una columna calculada que tiene un contexto de fila:
Cost Price Per Unit = financials[COGS] / financials[Units Sold]

En este ejemplo, la Cost Price Per Unit se calcula fila a fila. Esto significa que DAX necesita conocer la fila actual a medida que avanza por el conjunto de datos, realiza el cálculo y rellena la nueva columna con el resultado.
El contexto de fila está implícito en las columnas calculadas. Esto se debe a que los cálculos realizados en las columnas calculadas se hacen fila a fila; por tanto, el contexto de fila está definido por defecto. Sin embargo, esto no ocurre en las medidas, ya que las agregaciones se aplican a todas las filas de una tabla. Estos cálculos no necesitan tener conocimiento de una fila actual, ya que todas las filas se agregan juntas.
Como ejemplo de medida, considera la siguiente fórmula DAX:
Profit margin = SUM ( financials[Profit] ) / SUM ( financials[Sales] )
En este caso, se suma toda la columna Profit para obtener un único número, y éste se divide por la suma de toda la columna Sales. DAX no necesita conocer la fila actual, ya que realiza una agregación. Por tanto, esta medida no tiene contexto de fila.
Para definir explícitamente un contexto de fila en una medida, tienes que utilizar una función especial llamada iterador. Ejemplos de funciones iteradoras son SUMX, AVERAGEX, y COUNTX. Estas funciones realizarán primero un cálculo fila por fila y luego realizarán la agregación final sobre el resultado (es decir, suma, media, recuento, etc.). De este modo, el contexto de fila se define explícitamente utilizando estos iteradores.
Veamos un ejemplo de una función iteradora en acción:
Average Cost Per Unit = AVERAGEX ( financials, financials[COGS] / financials[Units Sold] )
Este ejemplo realiza dos cálculos: en primer lugar, la expresión se evalúa fila por fila y, a continuación, el resultado se aplica a la función AVERAGE. Una forma alternativa de llegar a este mismo resultado es crear primero la columna calculada Cost Price Per Unit como hicimos anteriormente y luego crear una medida AVERAGE independiente para esa columna. Sin embargo, saber cuándo utilizar estas funciones iteradoras puede hacer que tus informes sean más eficaces y utilicen menos memoria, ya que puedes realizar dos cálculos utilizando una sola fórmula.
Filtrar contexto
El contexto de filtro se aplica sobre un contexto de fila y se refiere a un subconjunto de filas o columnas que se especifican como filtros en el informe. Los filtros pueden aplicarse de varias formas:
- Directamente en una fórmula DAX
- Utilizar el panel de filtros
- Utilizar una cortadora visual
- A través de los campos que componen un visual (como las filas y columnas de una matriz)
Un buen ejemplo de añadir un contexto de filtro a una fórmula de DAX es utilizar la función CALCULATE, que te permite añadir uno o varios parámetros de filtro a la medida. En el ejemplo siguiente, creamos una medida de margen de beneficio filtrada sólo para EEUU:
USA Profit Margin = CALCULATE ( SUM ( financials[Profit] ) / SUM ( financials[Sales] ), financials[Country] = "United States of America")
Desafíos comunes y errores de principiante en DAX
Al aprender DAX, los principiantes suelen encontrarse con errores comunes que pueden dificultar la comprensión y depuración de las fórmulas. He aquí algunos de los problemas y consejos para resolverlos:
1. Confundir contextos de filas y filtros: A muchos principiantes les cuesta distinguir entre los contextos de fila y filtro. Recuerda que el contexto de fila se refiere a las operaciones realizadas fila a fila (por ejemplo, columnas calculadas). En cambio, el contexto de filtro aplica filtros adicionales a los cálculos (por ejemplo, rebanadores o filtros en un informe). Consejo: Utiliza funciones de iterador como SUMX o AVERAGEX para definir explícitamente contextos de fila en las medidas.
2. Uso excesivo de columnas calculadas: Aunque las columnas calculadas son útiles, a menudo pueden sustituirse por medidas, que son más eficientes en memoria y dinámicas. Crear columnas calculadas innecesarias puede hinchar tu modelo de datos. Consejo: Utiliza medidas siempre que sea posible, ya que se calculan sobre la marcha y no aumentan permanentemente el tamaño de tu modelo de datos.
3. Descuidar las convenciones de nomenclatura: Las medidas o columnas calculadas mal denominadas pueden confundir rápidamente en informes complejos. Consejo: Adopta convenciones de nomenclatura coherentes y descriptivas para organizar tus fórmulas DAX.
4. Ignorar la optimización del rendimiento: Las fórmulas DAX pueden volverse lentas con grandes conjuntos de datos si no se optimizan. Las fórmulas demasiado complicadas o el uso excesivo de funciones anidadas pueden provocar problemas de rendimiento. Consejo: Utiliza herramientas como DAX Studio para analizar y optimizar tus fórmulas, y considera la posibilidad de simplificar los cálculos siempre que sea posible.
Buenas prácticas para optimizar las fórmulas DAX
Para mejorar el rendimiento de las fórmulas DAX, especialmente en grandes conjuntos de datos, sigue estas buenas prácticas:
| Buenas prácticas | Descripción |
|---|---|
| Utilizar medidas sobre columnas calculadas | Las medidas son dinámicas y se calculan bajo demanda, por lo que consumen menos memoria que las columnas calculadas. |
| Evita las iteraciones anidadas | Minimiza el uso de funciones anidadas complejas (por ejemplo, SUMX, AVERAGEX) para evitar cuellos de botella en el rendimiento. |
| Filtra pronto | Aplica filtros en la fuente de datos o en las fórmulas DAX para reducir el número de filas procesadas. |
| Variables de apalancamiento | Utiliza VAR para almacenar resultados intermedios y evitar cálculos redundantes dentro de una fórmula. |
| Simplifica las relaciones | Asegúrate de que el modelo de datos tiene relaciones claras y tablas debidamente indexadas para un procesamiento más rápido. |
| Optimizar la cardinalidad | Reduce el número de valores únicos en las columnas utilizadas para filtrar o unir para mejorar el rendimiento. |
Conclusión
Ahora tienes algunas herramientas DAX básicas para probar, y son sólo la punta del iceberg de todo lo que DAX puede hacer. Con más de 250 funciones, el camino hacia el dominio de DAX es desafiante y gratificante. Puedes empezar hoy mismo a llevar tus conocimientos de DAX al siguiente nivel con nuestro curso Introducción a DAX en Power BI.
Conviértete en Analista de Datos de Power BI
Domina la herramienta de inteligencia empresarial más popular del mundo.
Preguntas frecuentes
¿Qué es DAX en Power BI?
DAX o Expresiones de Análisis de Datos, te permiten realizar cálculos que crean nuevos campos e incluso nuevas tablas en tu modelo.
¿Qué significa DAX en Power BI?
Expresiones de análisis de datos
¿Cómo escribir una fórmula DAX en Power BI?
Las fórmulas DAX se introducen en la barra de fórmulas, justo debajo de la cinta de Power BI. Empieza dando un nombre a la fórmula y sigue con el signo igual ("="). Luego escribe tu fórmula utilizando funciones, constantes o cadenas.
¿Cómo escribir una medida DAX en Power BI?
Crea una medida DAX seleccionando "Nueva medida" en la pestaña Modelado de la cinta o haciendo clic con el botón derecho en una tabla del panel Campos y seleccionando "Nueva medida" en el desplegable.
¿Cómo crear una fórmula "caso cuando" utilizando DAX en Power BI?
La fórmula "caso cuando" se crea utilizando la función SI en una fórmula DAX.
¿Cómo unir dos tablas en Power BI utilizando DAX?
La forma más sencilla de unir dos tablas es aprovechar las relaciones existentes entre ellas y utilizar la función ADDCOLUMNS para añadir columnas adicionales a una tabla. Esta función realiza una unión por la izquierda.
¿Cómo utilizar la cláusula where mediante DAX en Power BI?
La cláusula where se aplica fácilmente utilizando parámetros de filtro en DAX. Por ejemplo, la función CALCULAR toma una expresión y varios parámetros de filtro opcionales. Esto ayuda a controlar cómo influyen los gráficos y las entradas del usuario en estas funciones.
¿Cómo crear tablas estáticas en Power BI utilizando la función DAX DATATABLE?
La función DATATABLE es una forma fácil y cómoda de crear tablas estáticas que no se actualizan a menos que se cambie explícitamente la función DAX. La sintaxis de DATATABLE es:
DATATABLE (
<column1_name>, <column1_datatype>,
<column2_name>, <column2_datatype>,
{
{ <value1_row1>, <value2_row1> },
{ <value1_row2>, <value2_row2> }
}
)
¿Cómo sustituir valores en Power BI utilizando DAX?
Hay dos formas de sustituir valores de cadena en una columna utilizando DAX y son con las funciones SUSTITUIR y SUSTITUIR. La función SUSTITUIR sustituirá una cadena según la posición exacta y el número de caracteres que especifiques. Por otro lado, la función SUSTITUIR sustituirá cualquier cadena que coincida exactamente, independientemente de su posición.
¿Cómo aprendo a utilizar DAX en Power BI?
DAX en Power BI de DataCamp. El curso enseña una amplia gama de cálculos DAX, desde principiantes hasta avanzados, y la mejor forma de utilizarlos en tus informes.

