La función más versátil para análisis de datos y aplicación de filtros complejos
La función CALCULATE es considerada la más versátil de Power BI. Permite realizar cálculos complejos y aplicar una serie de filtros que van desde opciones sencillas hasta funciones inteligentes de tiempo y mucho más.
CALCULATE(<expresión>, <filtro1>, <filtro2>, ...)
Donde:
Una expresión en Power BI es una combinación de funciones y operadores de diferentes tipos que sirven para realizar un cálculo. Forma parte de la biblioteca de funciones que permite compilar fórmulas en Power BI.
Una expresión es un conjunto de funciones y operadores que realizan un cálculo. En este ejemplo, la función SUM suma todos los valores de la columna Ventas.
Una medida es un contenedor nombrado que almacena una expresión. La medida "Total Ventas" contiene la expresión SUM(Ventas).
Importante: Una medida contiene una expresión, pero no todas las expresiones son medidas. Las medidas permiten reutilizar fórmulas en todo el informe.
La función CALCULATE tiene dos partes fundamentales:
En esta parte se define qué queremos calcular. Se puede incluir:
Restricción: No se puede utilizar una columna directamente como expresión.
Aquí definimos bajo qué condiciones queremos realizar el cálculo:
Primero, creamos una medida simple para sumar ventas:
Esta medida suma todos los valores de la columna "Ventas" de la tabla.
Creamos una medida para calcular el promedio ponderado de las notas:
Esta medida calcula el promedio ponderado donde Nota1 vale 30%, Nota2 vale 30% y Nota3 vale 40%.
Usamos CALCULATE para filtrar solo los alumnos aprobados (promedio > 10):
Esta medida filtra el cálculo del promedio para mostrar solo los valores mayores a 10.
Similar al ejemplo anterior, pero para desaprobados (promedio < 11):
Combinamos IF con nuestro cálculo de promedio para mostrar texto:
Esta medida muestra el valor del promedio si es mayor a 10, o muestra "Desaprobó" en caso contrario.
Determina qué quieres calcular y bajo qué condiciones. Por ejemplo: "Quiero ver qué alumnos están aprobados" (promedio > 10).
Si es necesario, crea primero la medida que contiene el cálculo base. En nuestro ejemplo, creamos la medida "Promedio".
Utiliza CALCULATE pasando como primer argumento la medida base y después los filtros necesarios.
Cuando necesites filtrar por una medida (no una columna), utiliza la función FILTER dentro de CALCULATE.
Usa SHIFT+ENTER para formatear el código DAX en múltiples líneas y mejorar su legibilidad.