Filtros múltiples y inteligencia de tiempo en DAX
Clase 9 de 20 • Curso de Excel Avanzado
Contenido del curso
Módulo 2: Modelado de Datos con Power Pivot y DAX
Módulo 3: Funciones y Herramientas de Análisis Avanzado
Módulo 4: Automatización con Macros y VBA
Módulo 5: Creación de Dashboards Interactivos
Aprende a construir medidas DAX en Excel con autoridad: desde filtros múltiples por mes y producto hasta inteligencia de tiempo con year to date y year over year. Verás cómo combinar funciones como CALCULATE, SUMX y FILTER, ajustar el calendario en Power Query y controlar valores en blanco para reportes claros en Power Pivot y tablas dinámicas.
¿Cómo aplicar filtros múltiples en medidas DAX de Excel?
Integrar varios criterios en una medida es clave para análisis precisos. Aquí se combinan campos como mes y producto, usando operadores lógicos y filtros sobre tablas como Calendario y Productos. La base es CALCULATE sumando el importe (cantidad por precio) con SUMX y filtrando con FILTER.
¿Cómo combinar calculate, sumx y filter para meses y productos?
- Usa SUMX sobre la tabla Ventas para multiplicar cantidad por precio.
- Aplica CALCULATE para evaluar con filtros específicos.
- Filtra la tabla Calendario por mes y Productos por número.
Ventas 01 FF =
CALCULATE(
SUMX(Ventas, Ventas[cantidad] * Ventas[precio]),
FILTER(Calendario, Calendario[mes] = 1),
FILTER(Productos, Productos[numero] = 7)
)
¿Cómo filtrar un rango de meses con operadores lógicos en DAX?
- Combina condiciones con && para “y” y || para “o”.
- Limita meses del 1 al 3 con comparadores; son los mismos que usas en Excel.
- Mantén un filtro adicional por producto si lo necesitas.
mVentas 01-03 =
CALCULATE(
SUMX(Ventas, Ventas[cantidad] * Ventas[precio]),
FILTER(Calendario, Calendario[mes] >= 1 && Calendario[mes] <= 3),
FILTER(Productos, Productos[numero] = 7)
)
¿Cómo calcular year to date y year over year en DAX?
La inteligencia de tiempo permite evaluar acumulados al día y comparaciones con el mismo periodo del año previo. Para que funcionen, la tabla Calendario debe abarcar los años correctos; de lo contrario, pueden aparecer resultados en blanco.
¿Cómo crear year to date con totalytd en una medida?
- Usa la función TOTALYTD con tu medida base (por ejemplo, mImporte) y el campo de fecha de Calendario.
- Si Calendario incluye 2025 o 2026 pero tu data solo tiene 2024, el YTD puede quedar en blanco al “día de hoy”. Ajusta el rango en Power Query si solo quieres 2024.
P ventas =
TOTALYTD(
[mImporte],
Calendario[fecha]
)
Acciones prácticas en Power Query: - Edita Calendario en el Editor avanzado para limitar a 2024. - Cierra y aplica para reflejar el cambio en Power Pivot y que YTD deje de estar en blanco.
¿Cómo calcular year over year con sameperiodlastyear?
- Con SAMEPERIODLASTYEAR, compara el periodo actual contra el del año anterior.
- Si no existe un año previo en Calendario (o en los datos), el resultado será blanco.
geo ventas =
CALCULATE(
[mImporte],
SAMEPERIODLASTYEAR(Calendario[fecha])
)
Sugerencia operativa: - Agrega 2025 en Calendario desde Power Query para habilitar la comparación interanual, y vuelve a actualizar el modelo.
¿Cómo manejar valores en blanco y diferencias entre periodos?
Controlar los blancos mejora la lectura y evita confusión en reportes. Además, una medida de diferencia entre periodos acelera el análisis comparativo en tableros.
¿Cómo reemplazar valores en blanco con cero en una medida?
- Envuelve tu medida con IF e ISBLANK para devolver 0 cuando no haya dato.
- Úsalo, por ejemplo, sobre el YTD (P ventas) que podría estar en blanco.
blank ventas =
IF(
ISBLANK([P ventas]),
0,
[P ventas]
)
Opciones en tabla dinámica: - Clic derecho, Opciones de tabla dinámica, “Para las celdas vacías, mostrar: 0”. - Actualiza para ver el cambio reflejado.
¿Cómo calcular la diferencia entre periodos con medidas existentes?
- Resta directamente la medida del periodo actual de la del periodo anterior.
- Útil cuando uses YTD (P ventas) y YOY (geo ventas) en el tablero.
B ventas = [P ventas] - [geo ventas]
¿Te funcionaron estas medidas con tu Calendario y Productos? Comparte un screenshot de tu tabla dinámica y cuéntame cómo quedó tu información.