Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Learn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now

Reply
Syndicate_Admin
Administrator
Administrator

Gráfico de líneas donde Planificado ignora el segmentador de mes pero sigue reaccionando a otros filtros

Spoiler

Hola,

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."

Isabellii02_1-1771341655509.png

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.


Enfoque modelo

Para lograrlo, creé dos tablas de calendario:

Calendario

calendario = ADDCOLUMNS( CALENDAR(DATA(2024,1,1), FECHA(2027,12,31)), "Año", AÑO([Fecha]), "MonthNum", MONTH([Date]), "Month", FORMAT([Date], "mmm"), "Month_Slicer", FORMAT([Date], "mmm")

CalendarAxis

CalendarioEixo = ADDCOLUMNS( CALENDAR(DATA(2024,1,1), FECHA(2027,12,31)), "Month_Slicer", FORMAT([Fecha], "mmm yyyy"), "YearMonthNum", YEAR([Date]) * 100 + MONTH([Date])

Luego superpuse dos gráficos de líneas.

El objetivo de superponerlos es controlar la interacción con los filtros por separado.

Isabellii02_2-1771341772447.png


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) ) )

Esto:

  • Acumula la cantidad ejecutada

  • Se detiene tras el último mes de ejecución

  • Utiliza ALLSELECT en lugar de Calendario


Plan acumulado

Plan acumulado = CALCULATE( [Cantidad Planificada (Fija)], FILTER( ALLSELECTED(Calendario), Calendario[Fecha] <= MAX(Calendario[Fecha]) ) )

Esto:

  • Acumula la cantidad planificada

  • 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.

1 REPLY 1
Syndicate_Admin
Administrator
Administrator

@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]) ) )

o

Plan acumulado = CALCULAR( [Cantidad Planificada (Fija)], FILTER( ALL(Calendario), Calendario[Fecha] <= MAX(Calendario[Fecha]) ) )

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

February Power BI Update Carousel

Power BI Monthly Update - February 2026

Check out the February 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.