FUNCIONES DAX EN POWER BI

DAX, Data Analysis Expressions, es un lenguaje de fórmulas diseñado específicamente para trabajar con modelos de datos relacionales. A diferencia de las fórmulas de Excel, que trabajan principalmente con celdas, DAX trabaja con tablas y columnas. Se utiliza principalmente para:
  • Crear medidas,cálculos dinámicos que responden a filtros y segmentaciones.
  • Crear columnas calculadas.
  • Crear tablas calculadas.
  • Definir relaciones y lógica de negocio compleja.

Sintaxis básica de DAX

La estructura general es similar a Excel:

NombreMedida = FUNCIÓN(tabla[columna], ...)
Ejemplo simple:

Total Ventas = SUM(Ventas[Importe])

Principales categorías de funciones DAX

Buenas prácticas al escribir DAX

  • Usar medidas en lugar de columnas calculadas siempre que sea posible (mejor rendimiento).
  • Es mejor usar "DIVIDE" en lugar del operador "/".
  • Usa "VARIABLES" para mejorar legibilidad y rendimiento:

    Ventas Filtradas = 
    VAR Total = SUM(Ventas[Importe])
    VAR Filtro = CALCULATE(Total, Productos[Categoría] = "Ropa")
    RETURN Filtro
  • Evitar usar "FILTER" innecesariamente cuando se puede filtrar directamente en "CALCULATE".
  • Crear siempre una tabla de calendario (Date Table) bien hecha.
  • Documentar las medidas con descripciones.
  • Ejemplo completo de medidas útiles

    // Total Ventas
    Total Ventas = SUM(Ventas[Importe])
    
    // Ventas Año Anterior
    Ventas AA = CALCULATE([Total Ventas], SAMEPERIODLASTYEAR('Calendario'[Fecha]))
    
    // Variación %
    Variación % = DIVIDE([Total Ventas] - [Ventas AA], [Ventas AA])
    
    // Clientes Activos
    Clientes Activos = DISTINCTCOUNT(Ventas[ID Cliente])