Contenido del curso
Creación de tablas y columnas con DAX
Medidas
- 6

Medidas en DAX vs columnas calculadas
06:42 min - 7

Funciones DAX para métricas de ventas
07:17 min - 8

Funciones de texto en DAX con Power BI
06:18 min - 9

Agregaciones Condicionales y Lógicas en DAX para Tablas Dinámicas
08:30 min - 10

Condicionales anidadas y SWITCH en DAX
06:47 min - 11

Uso de HasOneValue para Condiciones y Títulos Dinámicos en Tablas
05:29 min - 12

Medidas dinámicas con SELECTEDVALUE y SWITCH
07:26 min - 13

Filtrar tablas calculadas con DAX
06:02 min
CALCULATE
Manejo de Iteradores y contextos
Funciones de inteligencia de tiempo
Optimización de modelos y escritura de código DAX
- 21

Variables y Medidas en Power BI para Indicadores Comerciales
06:04 min - 22

Formateo de Fórmulas DAX con DAX Formatter en Power BI
01:23 min - 23

Optimización de Modelos de Datos con DAX Studio en Power BI
06:19 min - 24

Instalación y uso de Tabular Editor en Power BI
06:00 min - 25

Generación de Código DAX con ChatGPT para Análisis de Ventas
01:35 min - 26

Visualizaciones de Inteligencia Artificial en Power BI
10:43 min
Integración de medidas en reporte de Power BI
CALCULATE en DAX: filtros que cambian todo
Resumen
La función CALCULATE es la fórmula DAX más usada en Power BI y se conoce como la madre de todas las funciones DAX porque permite evaluar una medida y modificarla aplicando uno o varios filtros. Si trabajas con análisis de ventas, segmentos de clientes o comparaciones por año, dominar CALCULATE es el primer paso para resolver problemas de negocio reales.
¿Qué es la función CALCULATE en DAX?
CALCULATE evalúa una expresión, normalmente una medida como total sales, y luego modifica el contexto de filtro en el que esa medida se calcula. Esa capacidad de cambiar el contexto es lo que la vuelve tan poderosa dentro del modelo de datos.
Lo primero que CALCULATE evalúa es la expresión. Después aplica los filtros en el orden en que los escribes. Si pones primero la marca y después el segmento, así se procesa internamente.
¿Qué hace CALCULATE en Power BI? Evalúa una medida y le aplica uno o más filtros para acotar el resultado. Por ejemplo, puedes tomar las ventas totales y limitarlas solo a un año, una marca o un segmento de cliente.
¿Cómo comparar ventas año contra año con CALCULATE?
Imagina que tu usuario de negocio te pide ver la tendencia de ventas en una gráfica de líneas y, además, comparar año contra año. Tienes datos de 2015, 2016 y 2017, y necesitas separar cada año como una serie distinta.
La solución es crear tres medidas en tu tabla de medidas:
- 2015 sales:
CALCULATE([Total Sales], Dates[Year] = 2015). - 2016 sales: misma fórmula cambiando el año a 2016.
- 2017 sales: misma estructura, ahora con 2017.
Cada medida toma las ventas totales y las restringe a un contexto de filtro modificado. Al arrastrarlas al eje Y de una gráfica de líneas con la dimensión Month, ves el comportamiento mensual de cada año por separado. Y aquí viene lo interesante: la medida base sigue siendo la misma, lo único que cambia es el filtro que aplicas encima.
¿Cómo aplicar varios filtros dentro de CALCULATE?
CALCULATE acepta uno o varios filtros simultáneos, lo que te permite construir indicadores muy específicos para tu negocio. Veamos cómo funciona con marcas y segmentos de clientes.
Filtrar ventas por marca y segmento al mismo tiempo
Supón que quieres conocer las ventas de Honda únicamente en el segmento company. La fórmula sería:
DAX Honda Sales by Company = CALCULATE( [Total Sales], Vehicle[Brand] = "Honda", Customer[Segment] = "Company" )
El resultado, mostrado en una tarjeta, da 6.69 millones. Esa cifra representa exclusivamente las ventas de vehículos Honda hechas a clientes corporativos.
Combinar marcas con lógica OR
También puedes combinar filtros con operadores lógicos. Si tus marcas top son Honda y Hyundai, la medida se vería así:
DAX Top Brand Sales = CALCULATE( [Total Sales], Vehicle[Brand] = "Honda" || Vehicle[Brand] = "Hyundai" )
El total alcanza 92.03 millones, que corresponde a la suma de 5.5 millones más 3.6 millones cuando se desglosa por segmento. Así CALCULATE acota la medida a un universo específico de marcas.
¿Puedo usar varios filtros en una misma fórmula CALCULATE? Sí. Puedes agregar tantos filtros como necesites, separados por comas, y combinarlos con operadores lógicos como
||(OR) o&&(AND) para construir condiciones más complejas.
¿Cómo contar clientes corporativos con CALCULATE?
CALCULATE no solo sirve para ventas. También puedes usarla con otras medidas como un conteo de clientes. La fórmula para saber cuántos clientes son corporativos sería:
DAX Corporate Customers = CALCULATE( [Number of Customers], Customer[Segment] = "Corporate" )
De los 14 millones de clientes totales, aproximadamente 1,000 son corporativos. Ese tipo de indicador te permite dimensionar el peso real de un segmento dentro de tu base.
¿Por qué importa el orden de evaluación en CALCULATE?
Un detalle técnico clave es que CALCULATE evalúa primero la expresión y después aplica los filtros en el orden en que los declaras. Saber esto te ayuda a depurar fórmulas cuando los resultados no cuadran.
En el ejemplo de Honda corporativo, primero se evalúan las ventas totales, luego se aplica el filtro de marca y finalmente el de segmento. Entender este flujo evita confusiones cuando trabajas con jerarquías de filtros más sofisticadas.
Habilidades, conceptos y datos clave de CALCULATE
Con CALCULATE acabas de generar tres indicadores de negocio reales: ventas corporativas de Honda, ventas de marcas top y número de clientes corporativos. Estos KPIs te permiten dar seguimiento al desarrollo del negocio tanto a nivel de segmento como de marca.
- CALCULATE: función DAX que evalúa una medida y modifica su contexto de filtro.
- Contexto de filtro: conjunto de condiciones activas cuando se evalúa una medida.
- Total Sales: medida base sobre la que aplicas modificaciones.
- Filtros múltiples: puedes encadenar varios criterios separados por coma.
- Operadores lógicos: usa
||para OR y&¶ AND dentro de los filtros. - Datos del ejercicio: 6.69 millones en ventas Honda corporate, 92.03 millones en marcas top, 1,000 clientes corporativos sobre 14 millones totales.
CALCULATE empieza siendo muy fácil de entender, pero a medida que profundizas se vuelve más compleja y, a la vez, más útil para resolver problemas de negocio. ¿Qué indicador te gustaría construir primero con CALCULATE en tu propio modelo? Cuéntame en los comentarios.