Saltar al contenido principal
InicioTutorialesPower BI

Tutorial de DAX en Power BI para principiantes

Aprende qué es DAX y descubre la sintaxis y las funciones DAX fundamentales que necesitarás para llevar tus conocimientos de Power BI al siguiente nivel.
Actualizado abr 2024  · 9 min leer

¿Qué es DAX?

Las fórmulas DAX (o expresiones de análisis de datos) impulsan todos los cálculos que puedes realizar en Power BI. Son versátiles, dinámicas y muy potentes: te permiten crear nuevos campos e incluso nuevas tablas en tu modelo. Aunque DAX se asocia más comúnmente con Power BI, también puedes encontrar fórmulas DAX en Power Pivot en Excel y en SQL Server Analysis Services (SSAS).

Las fórmulas DAX están formadas por 3 componentes básicos y este tutorial tratará 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 de tus datos y de Power BI para resolver problemas empresariales de forma eficaz. Puedes realizar cálculos sencillos (como una simple suma o promedio) y crear la mayoría de los elementos visuales sin siquiera tocar DAX. Por ejemplo, si quisieras crear un gráfico sencillo que mostrara el beneficio total, sólo tendrías que arrastrar el campo beneficio a la sección Valores del gráfico, y éste realizaría una suma de las filas de ese campo. 

Hay dos casos en los que sería mejor crear una fórmula DAX:

  1. 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 tener que modificar muchas fórmulas individuales en cada lugar en que se utilizan.
  2. Si quisieras crear fórmulas complejas o personalizadas en las que SUM o AVERAGE no fueran suficientes para el problema empresarial que intentabas resolver.

¿Dónde se utilizan las fórmulas DAX en Power BI?

Hay tres formas de utilizar las fórmulas DAX en Power BI:

  1. Tablas calculadas: estos cálculos añadirán una tabla adicional al informe basada en una fórmula. 
  2. 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.
  3. 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álculos radica en su contexto (más adelante hablaremos de ello) y en los resultados que producen. 

Para añadir cualquiera de estos tipos de cálculos a un modelo, ve a la pestaña Modeling de la cinta. Aquí encontrarás tres opciones para añadir una nueva medida, columna calculada o tabla. Como alternativa, puedes hacer clic con el botón derecho en una tabla del panel Fields, y obtendrás la opción de añadir una nueva medida o columna calculada en el menú desplegable. 

Menú desplegable de Power BI

Empieza a aprender Power BI gratis

Introducción a DAX en Power BI

BeginnerSkill Level
2
59.6K learners
Mejora tus conocimientos de Power BI, aprendiendo los fundamentos de las Expresiones de Análisis de Datos (DAX), como las columnas calculadas, las tablas y las medidas.

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. 

Infografía sobre la composición de la fórmula Dax

  1. El nombre de la medida o columna calculada
  2. El operador igual a ("=") indica el inicio de la fórmula
  3. Una función DAX
  4. Apertura (y cierre) de paréntesis ("()")
  5. Referencias a columnas y/o tablas
  6. 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, suele ser ú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:

  1. Cálculos sencillos: COUNT, DISTINCTCOUNT, SUM, AVERAGE, MIN, MAX.
  2. SUMMARISE: devuelve una tabla que suele utilizarse para aplicar agregaciones sobre diferentes agrupaciones.
  3. 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 considerando todos los filtros verdaderos.
  4. IF: en función de una condición lógica, devolverá un valor diferente si es verdadero o falso. Es similar a la operación CASE WHEN de SQL.
  5. IFERROR: busca cualquier error de una función interna y devuelve un resultado especificado.
  6. ISBLANK: comprueba si las filas de una columna están en blanco y devuelve verdadero o falso. Útil para utilizar junto con otras funciones como IF.
  7. 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.
  8. DATEDIFF: devuelve la diferencia entre 2 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

Esto se refiere sólo a la fila actual en todas las columnas de una tabla y también 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]

Captura de pantalla de la columna calculada de Power BI

En este ejemplo, el cálculo de "Cost Price Per Unit" (precio de coste por unidad) se realiza fila a fila. Esto significa que DAX necesita saber cuál es 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 que se realizan en las columnas calculadas se hacen fila a fila, por lo que 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" (beneficios) para obtener un único número, y éste se divide por la suma de toda la columna "Sales" (Ventas). DAX no necesita conocer la fila actual, ya que está realizando 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. Algunos 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, promedio, recuento, etc.). De este modo, el contexto de fila se define explícitamente mediante el uso de 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’ (Precio de coste por unidad), como hicimos antes, y luego crear una medida AVERAGE independiente de esa columna. Sin embargo, saber cuándo utilizar estas funciones iteradoras puede hacer que tus informes sean más eficaces y consuman menos memoria, ya que puedes realizar dos cálculos con una sola fórmula.

Contexto de filtro 

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
  • Usando el panel de filtros
  • Usando un objeto visual de segmentación
  • A través de los campos que componen un objeto visual (como las filas y columnas de una matriz)

Un buen ejemplo de cómo añadir un contexto de filtro a una fórmula 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 EE. UU.:

USA Profit Margin =

CALCULATE ( SUM ( financials[Profit] ) / SUM ( financials[Sales] ),  financials[Country] = "United States of America")

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 250 funciones posibles que aprender, el camino hacia el dominio de DAX es a la vez desafiante y gratificante. Cubriremos más funciones avanzadas en nuestro tutorial DAX Avanzado, y puedes empezar a llevar tus habilidades DAX al siguiente nivel hoy mismo con nuestro curso Dax en Power BI. O, puedes obtener más información sobre por qué Power BI es una de las mejores habilidades que puedes aprender aquí.  

Preguntas frecuentes sobre DAX en Power BI

¿Qué es DAX en Power BI?

DAX o las 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 New Measure’ en la pestaña Modeling de la cinta o haciendo clic con el botón derecho en una tabla del panel Fields y seleccionando New Measure’ en el desplegable. 

¿Cómo crear una fórmula ‘case when’ utilizando DAX en Power BI?

La fórmula ‘case when’ se crea utilizando la función IF 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 con DAX en Power BI?

La cláusula where se aplica fácilmente utilizando parámetros de filtro en DAX. Por ejemplo, la función CALCULATE 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 REPLACE y SUBSTITUTE. La función REPLACE sustituirá una cadena según la posición exacta y el número de caracteres que especifiques. Por otro lado, la función SUBSTITUTE 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. 

Temas