En este tema, exploraremos las funciones avanzadas de DAX (Data Analysis Expressions) que te permitirán realizar análisis de datos más complejos y obtener insights más profundos en Power BI. DAX es un lenguaje de fórmulas utilizado en Power BI, Power Pivot y Analysis Services. Las funciones avanzadas de DAX te ayudarán a crear cálculos sofisticados y a optimizar tus modelos de datos.

Contenido

  1. Funciones de iteración
  2. Funciones de tabla
  3. Funciones de inteligencia de tiempo avanzadas
  4. Funciones de manipulación de texto
  5. Ejercicios prácticos

  1. Funciones de iteración

Las funciones de iteración en DAX permiten realizar cálculos sobre una tabla o una columna, iterando sobre cada fila. Algunas de las funciones de iteración más comunes son:

  • SUMX: Suma los valores de una expresión evaluada para cada fila de una tabla.
  • AVERAGEX: Calcula el promedio de una expresión evaluada para cada fila de una tabla.
  • MINX: Devuelve el valor mínimo de una expresión evaluada para cada fila de una tabla.
  • MAXX: Devuelve el valor máximo de una expresión evaluada para cada fila de una tabla.

Ejemplo de SUMX

Total Sales = SUMX(Sales, Sales[Quantity] * Sales[Unit Price])

En este ejemplo, SUMX multiplica la cantidad por el precio unitario para cada fila de la tabla Sales y luego suma los resultados.

  1. Funciones de tabla

Las funciones de tabla en DAX devuelven una tabla en lugar de un valor único. Estas funciones son útiles para crear tablas intermedias y realizar cálculos complejos. Algunas funciones de tabla importantes son:

  • FILTER: Devuelve una tabla que contiene solo las filas que cumplen con una condición.
  • ALL: Devuelve todas las filas de una tabla, ignorando cualquier filtro aplicado.
  • VALUES: Devuelve una tabla de una sola columna que contiene los valores distintos de una columna especificada.

Ejemplo de FILTER

Filtered Sales = FILTER(Sales, Sales[Quantity] > 10)

En este ejemplo, FILTER devuelve una tabla que contiene solo las filas de la tabla Sales donde la cantidad es mayor que 10.

  1. Funciones de inteligencia de tiempo avanzadas

Las funciones de inteligencia de tiempo en DAX permiten realizar cálculos basados en fechas y períodos de tiempo. Algunas funciones avanzadas de inteligencia de tiempo son:

  • DATESBETWEEN: Devuelve una tabla que contiene las fechas entre dos fechas especificadas.
  • PARALLELPERIOD: Devuelve una tabla que contiene un período paralelo al período actual.
  • SAMEPERIODLASTYEAR: Devuelve una tabla que contiene el mismo período del año anterior.

Ejemplo de SAMEPERIODLASTYEAR

Sales Last Year = CALCULATE(SUM(Sales[Total Sales]), SAMEPERIODLASTYEAR(Calendar[Date]))

En este ejemplo, SAMEPERIODLASTYEAR devuelve una tabla que contiene el mismo período del año anterior, y CALCULATE suma las ventas totales para ese período.

  1. Funciones de manipulación de texto

Las funciones de manipulación de texto en DAX permiten trabajar con cadenas de texto. Algunas funciones útiles son:

  • CONCATENATE: Combina dos cadenas de texto en una sola.
  • LEFT: Devuelve el número especificado de caracteres desde el inicio de una cadena de texto.
  • RIGHT: Devuelve el número especificado de caracteres desde el final de una cadena de texto.

Ejemplo de CONCATENATE

Full Name = CONCATENATE(Employee[First Name], " " & Employee[Last Name])

En este ejemplo, CONCATENATE combina el nombre y el apellido de un empleado en una sola cadena de texto.

  1. Ejercicios prácticos

Ejercicio 1: Calcular el promedio ponderado de ventas

Crea una medida que calcule el promedio ponderado de ventas, donde el peso es la cantidad vendida.

Weighted Average Sales = 
DIVIDE(
    SUMX(Sales, Sales[Quantity] * Sales[Unit Price]),
    SUM(Sales[Quantity])
)

Ejercicio 2: Filtrar ventas por un rango de fechas

Crea una tabla que contenga solo las ventas realizadas en el primer trimestre de 2022.

Sales Q1 2022 = 
FILTER(
    Sales, 
    Sales[Date] >= DATE(2022, 1, 1) && Sales[Date] <= DATE(2022, 3, 31)
)

Ejercicio 3: Comparar ventas con el mismo período del año anterior

Crea una medida que compare las ventas del período actual con el mismo período del año anterior.

Sales Comparison = 
CALCULATE(
    SUM(Sales[Total Sales]), 
    SAMEPERIODLASTYEAR(Calendar[Date])
)

Conclusión

En este tema, hemos explorado algunas de las funciones avanzadas de DAX que te permitirán realizar análisis de datos más complejos en Power BI. Hemos cubierto funciones de iteración, funciones de tabla, funciones de inteligencia de tiempo avanzadas y funciones de manipulación de texto. Además, hemos proporcionado ejercicios prácticos para ayudarte a aplicar estos conceptos.

A medida que te familiarices con estas funciones avanzadas, podrás crear modelos de datos más sofisticados y obtener insights más profundos de tus datos. En el próximo módulo, nos centraremos en el diseño de informes efectivos y la creación de paneles interactivos.

© Copyright 2024. Todos los derechos reservados