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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
Syndicate_Admin
Administrator
Administrator

Datediff por producto Y por período de tiempo

Como datos que tengo disponibles:

Product_IDGroup_IDStart_dateEnd_date
1A2021-01-012023-04-05
2B2023-01-012028-09-15
3A2022-05-052025-07-07
4A2019-01-012021-03-01
5C2022-02-022023-03-03

También tengo una tabla de dimensiones con fechas que está vinculada a esta tabla.

Mi objetivo es hacer un gráfico de líneas, con en el eje x la fecha (en años, con la oportunidad de profundizar en trimestres) y en el eje y la "duración promedio" por grupo de productos.

Actualmente puedo calcular un datediff entre las fechas de inicio y finalización. Sin embargo, esto produce un número relacionado con la fecha de inicio. Entonces, por ejemplo, para el producto A en 2019, mi "datediff promedio" será de 2 años y 3 meses, ya que tengo un producto A que comienza el 2019-01-01 y esto dura hasta 2021-03-01.

Lo que quiero es que este datediff se distribuya en las diferentes partes de mi gráfico. Entonces, para el producto A en 2021, tengo el producto 1 que dura todo el año y el producto 4 que dura 2 meses. En este caso, quiero que mi gráfico (para el producto A en 2021) muestre la duración promedio, es decir, (365 + 59) / 2 = 212 días.

¿Cuál sería la mejor manera de lograrlo?

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

@Wouter_MK ,

Por favor, intente:

Average = 
VAR CurrentYear = SELECTEDVALUE('Calendar'[Year])
VAR CurrentGroup = SELECTEDVALUE('Table'[Group_ID])
VAR FilteredData =
    FILTER(
        'Table',
        'Table'[Group_ID] = CurrentGroup &&
        'Table'[Start_date] <= DATE(CurrentYear, 12, 31) &&
        'Table'[End_date] >= DATE(CurrentYear, 1, 1)
    )
VAR TotalDays =
    SUMX(
        FilteredData,
        DATEDIFF('Table'[Start_date], 'Table'[End_date], DAY) + 1
    )
VAR ProductCount = COUNTROWS(FilteredData)
RETURN
IF(ProductCount > 0, DIVIDE(TotalDays,ProductCount) )

Salida:

vcgaomsft_0-1691028360599.png

Saludos
Gao

Equipo de apoyo a la comunidad

Si hay alguna publicación de ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente. Si no entiendo sus necesidades o todavía tiene problemas al respecto, no dude en hacérnoslo saber. ¡Muchas gracias!

Cómo obtener respuestas rápidas a sus preguntas -- Cómo proporcionar datos de ejemplo en el foro de Power BI

Syndicate_Admin
Administrator
Administrator

Helpful resources

Announcements
Feb2025 Sticker Challenge

Join our Community Sticker Challenge 2025

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Solution Authors