Reply
Syndicate_Admin
Administrator
Administrator
Syndicated - Inbound

Segmentación dinámica de intervalo de fechas con solo la fecha máxima (fecha de finalización) seleccionada e ignorando la fecha mínima

Source Community: Power BI | Source Author Name: Jidnyasa2904

Tengo varios filtros que funcionan bien para los datos de ventas, pero cuando necesito mostrar información de inventario, quiero que los filtros funcionen de forma ligeramente diferente.

Los filtros implementados son:

  • Filtro de cambio de tiempo (día anterior, WTD, YTD, año completo)
  • Año (los datos se dividen en segmentos según el año seleccionado)
  • Mes
  • Semana
  • Día laborable

En mi matriz, tengo datos de ventas e inventario . Por ejemplo, si la fecha de hoy es 10/12/2024:

  • Cuando selecciono 2024 como año y YTD (Año hasta la fecha) para el filtro de cambio de tiempo, calcula automáticamente la fecha de inicio como 01/01/2024 y la fecha de finalización como 10/12/2024.

  • Sin embargo, para Inventario, quiero que la fecha de inicio siempre se fije como 01/01/2022, independientemente del año seleccionado. La fecha de finalización debe seguir basándose en el filtro seleccionado. Por lo tanto, cuando seleccione YTD para 2024, la suma debería ser del 01/01/2022 al 10/12/2024, en lugar de comenzar desde el 01/01/2024.


¡Cualquier ayuda es apreciada!
@Greg_Deckler @Fowmy @danextian @bhanu_gautam @Ritaf1983 @rajendraongole1 @amitchandak @Ashish_Mathur


1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: Jidnyasa2904
Syndicated - Inbound

Esto funcionó para mí:

ABC =

Fecha de finalización del VAR = CALCULAR(

MAX('Tabla'[Fecha]),

FILTER('Tabla', 'Tabla'[Año] = SELECTEDVALUE('Año máximo'[Año]))

)

DEVOLUCIÓN

CALCULAR(

SUM('Tabla'[Costo]),

'Tabla'[Fecha] <= fecha de finalización,

REMOVEFILTERS('Time Shift Table'), -- Elimina todas las tablas que afectan a la fecha

REMOVEFILTERS('Table') -- En mi caso, tenía una tabla de cambio de tiempo y una tabla de fecha

)


¡Gracias!

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: Jidnyasa2904
Syndicated - Inbound

Esto funcionó para mí:

ABC =

Fecha de finalización del VAR = CALCULAR(

MAX('Tabla'[Fecha]),

FILTER('Tabla', 'Tabla'[Año] = SELECTEDVALUE('Año máximo'[Año]))

)

DEVOLUCIÓN

CALCULAR(

SUM('Tabla'[Costo]),

'Tabla'[Fecha] <= fecha de finalización,

REMOVEFILTERS('Time Shift Table'), -- Elimina todas las tablas que afectan a la fecha

REMOVEFILTERS('Table') -- En mi caso, tenía una tabla de cambio de tiempo y una tabla de fecha

)


¡Gracias!

Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: Vijay_Chethan
Syndicated - Inbound

Hola Jidnyasa2904, tengo una solución, pero puede que no sea la más óptima
puede crear una medida para calcular la suma de los datos de inventario en lugar de las columnas directamente porque si se utilizan medidas, puede mencionar la fecha de inicio en el filtro en la medida y también usar ALL o ALLSELECTED en función de si desea aplicar filtros externos, desconozco su estructura de datos, por lo que no creo que pueda darle la medida dax exacta
Espero que esto le ayude, en caso afirmativo, márquelo como solución.

Source Community: Power BI | Source Author Name: Jidnyasa2904
Syndicated - Inbound

Columnas de la tabla:
Fecha Categoría Ubicación Saldo
1/1/2022 A 1 10000
02/01/2022 A 1 10
03/01/2022 A 1
1/4/2022 A 1 -4

Tengo múltiples filtros, como se mencionó anteriormente, por lo que cuando elijo el año 2024 y el cambio de tiempo YTD, quiero que la fecha de inicio sea el 1/1/2022 en lugar del 1/1/2024 y solo considerar el 10/12/2024. Por lo tanto, suma del saldo desde el 1/1/2022 hasta el 10/12/2024.

Source Community: Power BI | Source Author Name: danextian
Syndicated - Inbound

Esto es confuso. En tu publicación original, mencionaste que el tiempo debería comenzar desde el comienzo del año seleccionado hasta la fecha de hoy.

danextian_0-1741697702703.png

Sin embargo, arriba dices que debería comenzar a partir del 1/1/2022.

Además, ¿cuál sería la fecha de finalización si la fecha de hoy fuera el 10/12/2024 pero el año seleccionado fuera 2023?

Source Community: Power BI | Source Author Name: Jidnyasa2904
Syndicated - Inbound

Perdón por la confusión. La fecha de inicio siempre debe ser la primera fecha disponible en la tabla; En mi caso, es el 1/1/2022.
Suponiendo que la fecha de hoy es 10/12/2024
Si selecciono el año como 2023 y el filtro de cambio de tiempo como YTD, la fecha de inicio debe ser 1/1/2022 y la fecha de finalización debe ser 10/12/2023.
Tengo una columna de fecha personalizada que se ajusta según el año actual.
Estoy buscando una manera de ignorar la fecha de inicio de cualquier filtro seleccionado y considerar solo la fecha de finalización.




Source Community: Power BI | Source Author Name: danextian
Syndicated - Inbound

Puedes probar lo siguiente:

VAR _end =
    CALCULATE ( LASTNONBLANK ( Dates[Date], [Measure] ), ALLSELECTED ( Dates ) )
RETURN
    IF (
        SELECTEDVALUE ( TimeShift[Value] ) = "YTD",
        CALCULATE ( [Measure], FILTER ( ALL ( Dates ), Dates[Date] <= _end ) )
    )

_end comprueba la última fecha con valor en el contexto actual. Es decir, reemplace la expresión de la variable por TODAY().

avatar user

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

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

Feb2025 NL Carousel

Fabric Community Update - February 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors (Last Month)
Top Kudoed Authors (Last Month)