Si hay una función que separa a quien toca DAX de quien realmente lo domina, es CALCULATE. Es la función más poderosa del lenguaje — la que responde preguntas como "¿cuánto vendimos solo en la región Norte?" o "¿qué porcentaje respecto al total?". Entender CALCULATE es entender DAX.
Qué hace especial a CALCULATE
Casi todas las funciones DAX leen el contexto de filtro; CALCULATE es la única que lo modifica. Evalúa una expresión (normalmente una medida) después de aplicar los filtros que le indicas. Ese poder de cambiar el contexto es lo que la hace central.

La sintaxis, sin misterio
La forma es CALCULATE( expresión, filtro1, filtro2, ... ). El primer argumento es lo que quieres calcular; los siguientes son las condiciones a aplicar. Por ejemplo, CALCULATE( [Total Ventas], Region[Nombre] = "Norte" ) devuelve las ventas solo del Norte, sin importar lo que esté seleccionado en la página.
Sustituir vs añadir filtros
- Por defecto, CALCULATE sustituye el filtro existente en la columna que mencionas — si la página filtra "Sur" y CALCULATE pide "Norte", gana el Norte.
- Para preservar el contexto, usa KEEPFILTERS cuando quieres intersecar en vez de sobreponer.
- REMOVEFILTERS/ALL quitan filtros — esenciales para cálculos de porcentaje respecto al total.
El patrón más útil: porcentaje del total
Uno de los usos más comunes es DIVIDE( [Total Ventas], CALCULATE( [Total Ventas], ALL(Producto) ) ): el numerador respeta el contexto (el producto de la fila), el denominador lo quita (todos los productos), dando la cuota de cada producto. Es CALCULATE cambiando el contexto para crear el total de referencia.
Errores a evitar
El error clásico es esperar que CALCULATE sume sobre filas como una función de agregación — no es lo que hace. Ajusta el contexto y delega el cálculo a la medida. Piénsala como "calcula esto, pero primero cambia el filtro a...".
En la práctica
Domina CALCULATE con filtros simples, luego explora ALL, KEEPFILTERS y variables. Es el paso que convierte informes básicos en análisis verdaderamente flexibles. ¿Qué pregunta de tu informe resolverías hoy si supieras cambiar el contexto de filtro a voluntad?