Función All y Filter con DAX 🔍

¡Aprende a usar ALL y FILTER en DAX para optimizar cálculos en Power BI! Descubre cómo eliminar o personalizar filtros para crear medidas avanzadas y visualizaciones eficientes. Descarga las tablas desde el enlace y practica. 💻📊


Paso 1: Crear una medida base con SUMX ➕

Calcula el total de ventas multiplicando Cantidad por PrecioUnitario.

  • Ve a Inicio > Introducir Datos, crea una tabla llamada MedidasDAX y cárgala.

  • En MedidasDAX, haz clic derecho > Nueva Medida.
  • Nómbrala Ventas Totales y escribe:

Ventas Totales =

SUMX(venta,

Venta[Cantidad]*Venta[PrecioUnitario]

)

Explicación: Itera cada fila de Ventas, multiplica Cantidad por PrecioUnitario y suma los resultados.

  • Presiona Enter, crea una Tarjeta en Vista de Informe. Resultado: 310. 😎
  • Opcional: Crea una Tabla con NombreProducto (de Productos), Cantidad, PrecioUnitario, y VentasTotales (por ejemplo, Camiseta: 3 * 20 = 60).


Paso 2: Usar ALL con CALCULATE para ignorar filtros 🔄

Crea una medida que ignore filtros y muestre el total de ventas completo.

  • En MedidasDAX, haz clic derecho > Nueva Medida.
  • Nómbrala All Total Ventas y escribe:

All Total Ventas =

CALCULATE([Ventas Totales],

ALL(Venta)

)

  • Explicación:
    • [VentasTotales]: La medida base (310).
    • ALL(Ventas): Elimina todos los filtros aplicados a la tabla Ventas, mostrando el total sin restricciones.
  • Presiona Enter, crea una Tarjeta. Resultado: 310.

  • Prueba con una Segmentación:
    • Arrastra Categoría (de Productos) a una segmentación.
    • Selecciona Accesorios: VentasTotales cambia a 50, pero VentasALL sigue mostrando 310.
    • Por qué: ALL ignora el filtro de categoría, manteniendo el total completo. 🌟


Paso 3: Calcular porcentaje de ventas por categoría 📊

Usa ALL para calcular el % de ventas por categoría respecto al total.

  • En MedidasDAX, haz clic derecho > Nueva Medida.
  • Nómbrala % de Ventas y escribe:

% de Ventas =

DIVIDE([Ventas Totales],[All Total Ventas],0)

  • Explicación:
    • Numerador: [VentasTotales] (ventas por categoría, según filtros).
    • Denominador: [VentasALL] (total fijo de 310, sin filtros).
    • 0: Valor si hay error (por ejemplo, división por cero).

  • Ve a Vista de Datos, selecciona la medida, y en Formato elige Porcentaje con 2 decimales.
  • Presiona Enter, crea una Tabla:
    • Arrastra Categoría (de Productos) y %Ventas.
    • Validación: Ejemplo, Gorro= 50 / 310 ≈ 16.13%. 😄


Paso 4: Extraer el mes con una columna calculada 🗓️

Crea una columna para extraer el mes de la fecha.

  • En la tabla Ventas, haz clic derecho > Nueva Columna.
  • Nómbrala Mes y escribe:

Mes = MONTH(Ventas[Fecha])

Explicación: Extrae el número del mes (1 = Enero, 2 = Febrero, 3 = Marzo).

  • Presiona Enter, verifica en Vista de Datos: Enero (1), Febrero (2), Marzo (3). 🚀

Paso 5: Ventas de enero con FILTER y CALCULATE 📅

Calcula las ventas solo de enero como base para comparaciones.

  • En MedidasDAX, haz clic derecho > Nueva Medida.
  • Nómbrala VentasEnero y escribe:

VentasEnero = CALCULATE([VentasTotales], FILTER(ALL(Ventas), Ventas[Mes] = 1))

Explicación:

  • [VentasTotales]: La medida base.
  • ALL(Ventas): Ignora filtros en Ventas.
  • FILTER(…, Ventas[Mes] = 1): Aplica un filtro para incluir solo filas donde Mes = 1 (Enero).
  • Nota: FILTER permite condiciones complejas, a diferencia de un filtro directo (que daría error aquí).

  • Presiona Enter, crea una Tarjeta. Resultado: 80 (2 * 20 + 2 * 20).
    • Validación: Enero tiene 2 filas: 40 + 40 = 80. 🎯

Paso 6: Porcentaje de ventas por mes respecto a enero 📈

Compara las ventas de cada mes con las de enero.

  • En MedidasDAX, haz clic derecho > Nueva Medida.
  • Nómbrala %VentasVsEnero y escribe:

%VentasVsEnero = DIVIDE([VentasTotales], [VentasEnero], 0)

  • Explicación:
    • Numerador: [VentasTotales] (ventas por mes, según filtros).
    • Denominador: [VentasEnero] (ventas fijas de enero: 80).
    • 0: Valor si hay error.

  • Ve a Vista de Datos, selecciona la medida, y en Formato elige Porcentaje con 2 decimales.
  • Presiona Enter, crea una Tabla:
    • Arrastra Mes (de Ventas).
    • En la flecha de Mes, selecciona No resumir para mostrar 1, 2, 3.
    • Arrastra %VentasVsEnero.
    • Resultado: Enero (100%), Febrero (225%), Marzo (62.50%).
    • Validación: Febrero = 180 / 80 = 225%; Marzo = 50 / 80 = 62.50%. 😄

Cierre 🎬

¡Genial! 🎉 Ahora dominas ALL y FILTER en DAX para eliminar o personalizar filtros y crear medidas avanzadas. Practica con las tablas y experimenta con porcentajes. ¿Dudas? Déjalas en los comentarios. ¡Nos vemos en el próximo capítulo! 👋


Notas Adicionales 📝

  • Enlaces: Descarga el archivo y revisa el curso gratis en la descripción (módulo 9, capítulo 79). 😊
  • ALL: Úsalo para ignorar filtros y obtener totals fijos (por ejemplo, denominadores).
  • FILTER: Ideal para condiciones complejas dentro de CALCULATE.
  • Errores: Si los resultados no coinciden, verifica relaciones, formatos de fecha, o nombres de columnas/medidas. 🔍

Módulo 9: Funciones DAX II

Descargar Tabla Calendario
Tabla Fechas .pbix
Tabla Productos, Ventas, Otra Tabla

Related Articles

Responses

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *