Estoy trabajando en un informe de Power BI y necesito controlar el comportamiento del filtro para un gráfico de líneas llamado "Planificación y ejecución."
Requisito
La línea ejecutada debe reaccionar a todos los filtros (incluido el segmentador de mes).
La línea Planificada debe ignorar el segmento de Mes.
La línea planificada debe seguir reaccionando a todos los demás filtros (Año, otras dimensiones, etc.).
En resumen: Planificado debe ignorar solo el segmentador de mes, pero respetar el resto del contexto del filtro.
La implementación actual funciona parcialmente, pero ahora el visual solo reacciona correctamente al año y al mes, e ignora otros filtros inesperadamente.
El objetivo de superponerlos es controlar la interacción con los filtros por separado.
Visual 1 (Líneas principales – utiliza CalendarAxis)
Eje X: CalendarEixo[Month_Slicer]
Medidas en el eje Y:
Final Acumulado Ejecutado
Plan Final acumulado
Medida de apoyo
Fecha de Última Ejecución = MAX('Process Recertification Tracker (2)'[Fecha de finalización de PA])
Esta medida identifica el último mes con datos de ejecución, evitando la acumulación más allá del último mes ejecutado.
Final Acumulado Ejecutado
Esta medida calcula los registros ejecutados acumulados hasta el mes actual del eje X.
Final Ejecutado Acumulado = VAR MaxFechaContexto = MAX(CalendarioEixo[Fecha]) VAR Selected Year = SELECTEDVALUE(Calendario[Year]) VAR LastExecDate = [Última fecha de ejecución] RETURN IF( YEAR(MaxFechaContexto) = Selected Year & EOMONTH(MaxDateContext, 0) <= EOMONTH(LastExecDate, 0), CALCULATE( COUNTROWS('Process Recertification Tracker (2)'), FILTER( ALL('Process Recertification Tracker (2)'), 'Process Recertification Tracker (2)'[PA Done Date] <= MaxDateContext & & YEAR('Process Rastreador de Recertificación (2)'[Fecha de finalización de la autorización de autorización]) = Año seleccionado y DE NO ESTÁ EN BLANCO('rastreador de recertificación de procesos (2)'[Fecha de finalización de la autorización de autorización]) ) )
Usos [Fecha de finalización en Pensilvania]
Acumula valores de ejecución
Deja de acumularse tras el mes de ejecución pasado
Plan Final acumulado
Esta medida calcula los registros planificados acumulados hasta el mes actual del eje X.
Plan Final acumulado = VAR MaxFechaContexto = MAX(CalendarioEixo[Fecha]) VAR Selected Year = SELECTEDVALUE(Calendario[Year]) RETURN IF( YEAR(MaxFechaContexto) = SelectedYear, CALCULATE( COUNTROWS('Process Recertification Tracker (2)'), FILTER( ALL('Process Recertification Tracker (2)'), 'Process Recertification Tracker (2)'[Fecha objetivo] <= MaxFechaContexto && AÑO('Process Recertification Tracker (2)'[Fecha objetivo]) = Selected Year & NOT ISBLANK('Process Recertification Tracker (2)'[Fecha objetivo]) ) ) )
Usos [Fecha objetivo]
Acumula valores planificados
Visual 2 (Superposición – Interacción con el Slicer del Mes Desactivada)
Este segundo visual se superpone al primero.
Eje X: Calendario[Month_Slicer]
Medidas en el eje Y:
Acumulado ejecutado (parada)
Plan acumulado
La interacción con el slicer del mes está deshabilitada para este visual.
Acumulado ejecutado (parada)
Acumulado ejecutado (stop) = VAR MaxDateContext = MAX(Calendario[Fecha]) VAR LastExecDate = [Última fecha de ejecución] RETURN IF( EOMONTH(MaxFechaContexto, 0) > EOMONTH(LastExecFecha, 0), BLANK(), CALCULATE( [Cantidad ejecutada], FILTER( ALLSELECTED(Calendario), Calendario[Fecha] <= MaxFechaContexto) ) )
Está pensado para ignorar solo al segmentador de mes
Aun así, respeto otros filtros
Número actual
La imagen se comporta de forma inconsistente:
Ejecutado reacciona correctamente a Mes.
Si se planifica correctamente, ignora el mes.
Sin embargo, ambas líneas ya no reaccionan correctamente a otros filtros (excepto al Año).
He probado variaciones usando ALL, REMOVEFILTERS y ALLSELECTED, pero eliminar el filtro Month sin romper el resto del contexto del filtro está resultando difícil.
Slicer de mes
El slicer de mes está construido usando:
Calendario[Mes]
Este segmentador está pensado para:
Filtra la línea ejecutada normalmente
No afectar a la línea planificada
Configuración actual
El slicer está conectado a la tabla Calendario .
El primer visual (que usa CalendarioEixo como eje X) reacciona al slicer.
La segunda imagen superpuesta (que usa Calendario[Month_Slicer] en el eje X) tiene su interacción con el segmentador de mes desactivada manualmente.
Esta configuración fue diseñada para aislar el comportamiento del filtro dividiendo el control del eje entre dos tablas de calendario.
Comportamiento esperado del Slicer
Si selecciono:
Mes = Marzo
Entonces:
La línea ejecutada debe ajustarse y mostrar valores solo hasta marzo.
La línea planificada debe permanecer sin cambios (ignorando el segmento de mes).
Ambas líneas deberían respetar todos los demás filtros (Año, Región, Mercancía, etc.).
Pregunta
¿Cuál es el patrón DAX correcto para:
Quita solo el filtro de corte de mes
Preservar todo el resto del contexto del filtro
Evitar romper el filtrado cruzado de otras dimensiones
Si es necesario, puedo proporcionar un modelo PBIX simplificado.
@Isabellii02 , esto debería funcionar. Asegúrate de que la tabla del calendario esté marcada como tabla de fechas y que cualquier campo/columna en el filtro/visual debería provenir solo de la tabla de fechas Ambos funcionarán Plan acumulado = CALCULATE( [Cantidad Planificada (Fija)], FILTER( ALLSELECTED(Calendario), Calendario[Fecha] <= MAX(Calendario[Fecha]) ) )