Función CALCULATE de Power Bi ⚙️

¡Domina CALCULATE, la función DAX más poderosa de Power BI! Aprende a crear medidas personalizadas y modificar contextos de filtro con ejemplos prácticos. Descarga las tablas desde el enlace y potencia tus reportes. 📊💻

Paso a Paso

Preparación: Importa los datos 📥

  • En Power BI, ve a Inicio > Obtener Datos > Excel y selecciona el archivo.
  • Carga las tablas: Ventas, Productos, y OtraTabla (independiente).
    • Ventas y Productos están relacionadas por Código.
    • OtraTabla no está relacionada, usada para mostrar comportamientos de CALCULATE.

  • Verifica en Vista de Modelo: Confirma las relaciones entre Ventas y Productos. ¡Listo! 🎉


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 DAX y cárgala.

  • En DAX, haz clic derecho > Nueva Medida.
  • Nómbrala VentasTotales 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 y arrastra la medida. Resultado: ~310. 😎
  • Opcional: Crea una Tabla con NombreProducto (de Productos), Cantidad, PrecioUnitario, y Ventas Totales para verificar (por ejemplo, 3 * 20 = 60).


Paso 2: Filtrar ventas de febrero con CALCULATE 📅

Usa CALCULATE para sumar solo las ventas de febrero 2024.

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

Ventas Febrero =

CALCULATE([Ventas Totales],

MONTH(Venta[Fecha])=2,

YEAR(Venta[Fecha])=2024

)

  • Explicación:
    • [VentasTotales]: La medida base (~310).
    • MONTH(Ventas[Fecha]) = 2: Filtra febrero.
    • YEAR(Ventas[Fecha]) = 2024: Filtra 2024.
    • Ambos filtros deben cumplirse (como AND).
  • Nota: Usa MONTH y YEAR para extraer mes/año de Fecha.
    • Presiona Enter, crea una Tarjeta y arrastra la medida. Resultado: 180 (60 + 120, de febrero 2024). 🌟
    • Validación: En Ventas, febrero tiene 2 filas: 3 * 20 = 60 y 6 * 20 = 120.


Paso 3: Filtrar ventas por categoría ropa con CALCULATE 👕

Suma las ventas de la categoría Ropa (de Productos).

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

Ventas Cat Ropa =

CALCULATE([Ventas Totales],

Producto[Categoría]="Ropa"

)

Explicación: Aplica un filtro para sumar VentasTotales solo de productos con Categoría = «Ropa» (Camiseta y Jeans, códigos 1 y 2).

  • Presiona Enter, crea una Tarjeta y arrastra la medida. Resultado: 100 (40 + 60). 🎯

Validación: Camiseta (2 * 20 = 40) + Jeans (3 * 20 = 60).


Paso 4: Filtrar ventas con más de 2 unidades con CALCULATE 📦

Suma las ventas con Cantidad > 2.

  • In DAX, haz clic derecho > Nueva Medida.
  • Nómbrala VentasMas2Unidades y escribe:

VentasMas2Unidades = CALCULATE([VentasTotales], Ventas[Cantidad] > 2)

Explicación: Filtra VentasTotales para filas donde Cantidad sea mayor a 2.

  • Presiona Enter, crea una Tarjeta y arrastra la medida. Resultado: 110 (60 + 50). 😄

Validación: Filas con Cantidad > 2: 3 * 20 = 60 (Jeans) y 5 * 10 = 50 (Reloj).


Paso 5: Comportamiento de CALCULATE con tablas no relacionadas 📋

Analiza cómo CALCULATE actúa con OtraTabla (no relacionada).

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

Total Ventas =

SUM(Otra_Tabla[Ventas])

Explicación: Suma la columna Ventas de OtraTabla.

  • Presiona Enter, crea una Tarjeta. Resultado: 1150.

  • Crea otra medida, VentasElectrónica, y escribe:

Ventas Electrónica =

CALCULATE([Total Ventas],

Otra_Tabla[Categoría]="Electrónica"

)

Explicación: Filtra TotalVentas para la categoría Electrónica.

  • Presiona Enter, crea una Tarjeta. Resultado: 700 (300 + 400, productos C y D).
  • Crea una Tabla en Vista de Informe:
    • Arrastra Categoría (de OtraTabla).
    • Arrastra TotalVentas y VentasElectrónica.
    • Observación:
      • TotalVentas: Muestra 700 para Electrónica, 450 para Ropa.
      • VentasElectrónica: Repite 700 en ambas filas (Electrónica y Ropa).
      • Por qué: CALCULATE fuerza el filtro Electrónica, ignorando el contexto de la tabla (categoría Ropa). Esto es un comportamiento típico. 🚨

  • Añade Producto (de OtraTabla) a la tabla:
    • VentasElectrónica: Ahora muestra 300 y 400 solo para productos C y D (Electrónica), y vacío para A y B (Ropa).
    • TotalVentas: Muestra valores por producto (100, 350, 300, 400).
    • Por qué: El contexto de filtro por Producto refina los resultados, pero CALCULATE puede devolver vacíos si el filtro no coincide. 🔍

Cierre 🎬

¡Increíble! 🎉 Ahora dominas CALCULATE, la función estrella de DAX, para modificar contextos de filtro y crear medidas avanzadas. Practica con las tablas y explora sus comportamientos. ¿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 78). 😊
  • Comportamiento de CALCULATE: Puede repetir valores o devolver vacíos según el contexto de filtro. Verifica tablas y relaciones en Vista de Modelo.
  • Filtros múltiples: Usa operadores como && (AND), || (OR), o funciones como MONTH, YEAR.
  • Errores: Si los resultados no coinciden, revisa formatos de fecha, relaciones, 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 *

  1. porqué el resultado de calculate se refiere a precios unitarios si estamos uitlizando en la formula
    la medida de ventas totales?

El Tío Tech
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.