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

Get Fabric certified for FREE! Don't miss your chance! Learn more

Reply
Syndicate_Admin
Administrator
Administrator

Tiempo entre fechas para cada identificador único: varias variables de fecha

Hola

Soy nuevo en Power BI y tengo algunos problemas para encontrar una forma de calcular el número promedio de días transcurridos entre dos fechas con los datos a continuación, para una base de datos de administración de casos. La diferencia entre las fechas debe calcularse de dos maneras diferentes, considerando solo los casos cerrados:

  • Diferencia entre el "initial_contact_date" para los casos que se abrieron y cerraron el mismo día ("Survivor_closed_case"="sí"), lo que significa que el caso solo tiene una presentación/fila. En este caso la diferencia será cero al ser el mismo día. Véase, por ejemplo, "editedorg1-30".
  • Diferencia entre el "initial_contact_date" del primer envío y el "Follow_up_date" del último envío/fila, para los casos en que este último estaba cerrado ("Survivor_closed_case"="sí")

Descripción de los datos:

  • Una fila = un caso presentado
  • Cada fila tiene un identificador único ("Unique_ID_merged")
  • Cada caso (identificado con "Unique_ID_merged") puede tener uno o varios rows_
    • Cada caso tendrá el primer envío ("New_or_registered"="new_case"). Si el caso está cerrado, tomará el valor "sí" al "Survivor_closed_case"). Este tipo de envío tendrá una fecha como valor para "initial_contact_date"). La fecha de cierre del caso será la misma que la de "initial_contact_date". Ver "org2-30" en los datos
    • Cada caso puede tener presentaciones de seguimiento ("New_or_registered" = "tracking_existing caso") y, si el caso está cerrado, tomará el valor "sí" al "Survivor_closed_case"). Para estos envíos, solo tenemos un valor de fecha como el "Follow_up_date", y solo podemos conocer los "initial_contact_date" del primer envío, vinculándolos a través del "Unique_ID_merged". Ver "org1-16" en los datos.

Esto nos ayudará a saber cuánto tiempo, en promedio, se tarda en cerrar un caso de violencia una vez que la sobreviviente ha decidido cerrarlo. Después 😍 de esto, intentaré calcular el número promedio de días que un caso ha estado abierto, para los casos que aún no se han cerrado (ver "org3-10" en los datos)

Unique_ID_mergedNew_or_registeredInitial_contact_dateFollow_up_dateSurvivor_closed_case
org3-10new_case20/08/2024nulono
org3-10tracking_existing_casenulo21/08/2024no
org1-16new_case27/08/2024nulono
org1-16tracking_existing_casenulo28/08/2024no
org1-16tracking_existing_casenulo30/08/2024
org2-30new_case06/09/2024nulo
2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

Promedio=

Promediox(

Valores( datum[Unique_ID_merged] ),

var initialContact =

Calcular( min( datum[initial_contact_date ))

var cerradoContactoInicial =

Calcular(

min( fecha[inital_contact_date),

Datum[Survivor_closed_case] = "sí"

)

var lastFollowup =

Calcular(

Max( fecha[follow_up_date),

Datum[Survivor_closed_case] = "sí"

)

Devolución

Datediff(initialContact, coalesce (closedInitialContact, lastFollowup))

)

View solution in original post

Syndicate_Admin
Administrator
Administrator

¡Hola, muchas gracias! Solo un par de ajustes, en particular, el tercer argumento para DATEDIFF. ¡Esto es lo que funcionó!

Promedio de días de cierre =
PROMEDIOX(
VALORES('DB'[Unique_ID_merged]),
VAR initialContact =
CALCULAR(MIN('DB'[initial_contact_date]))
VAR closedInitialContact =
CALCULAR(
MIN('DB'[initial_contact_date]),
'DB'[Survivor_closed_case] = "Sí"
)
VAR closedLastFollowup =
CALCULAR(
MÁXIMO('DB'[follow_up_date]),
'DB'[Survivor_closed_case] = "Sí"
)
DEVOLUCIÓN
DATEDIFF(initialContact, COALESCE(closedInitialContact, closedLastFollowup),DÍA)
)

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

Muchas gracias por su ayuda. Quería hacer algo similar para los casos que seguían abiertos, así que ambos 'DB'[initial_contact_date]), 'DB'[Survivor_closed_case] = "no" Y 'DB'[follow_up_date]), 'DB'[Survivor_closed_case] = "no")Usando HOY().

¿Tiene sentido lo siguiente? ¡Muchas gracias de nuevo!

Avgdaysopen = 
AVERAGEX(
    FILTER(
        'DB',
        'DB'[Survivor_closed_case] = "no"
    ),
    VAR OpenInitialContact =
        CALCULATE(
            MIN('DB'[initial_contact_date])
        )
    VAR lastFollowupOpen =
        CALCULATE(
            MAX('DB'[follow_up_date])
        )
    RETURN
        DATEDIFF(OpenInitialContact, TODAY(), DAY)
)
Syndicate_Admin
Administrator
Administrator

¡Hola, muchas gracias! Solo un par de ajustes, en particular, el tercer argumento para DATEDIFF. ¡Esto es lo que funcionó!

Promedio de días de cierre =
PROMEDIOX(
VALORES('DB'[Unique_ID_merged]),
VAR initialContact =
CALCULAR(MIN('DB'[initial_contact_date]))
VAR closedInitialContact =
CALCULAR(
MIN('DB'[initial_contact_date]),
'DB'[Survivor_closed_case] = "Sí"
)
VAR closedLastFollowup =
CALCULAR(
MÁXIMO('DB'[follow_up_date]),
'DB'[Survivor_closed_case] = "Sí"
)
DEVOLUCIÓN
DATEDIFF(initialContact, COALESCE(closedInitialContact, closedLastFollowup),DÍA)
)
Syndicate_Admin
Administrator
Administrator

Promedio=

Promediox(

Valores( datum[Unique_ID_merged] ),

var initialContact =

Calcular( min( datum[initial_contact_date ))

var cerradoContactoInicial =

Calcular(

min( fecha[inital_contact_date),

Datum[Survivor_closed_case] = "sí"

)

var lastFollowup =

Calcular(

Max( fecha[follow_up_date),

Datum[Survivor_closed_case] = "sí"

)

Devolución

Datediff(initialContact, coalesce (closedInitialContact, lastFollowup))

)

Helpful resources

Announcements
Sticker Challenge 2026 Carousel

Join our Community Sticker Challenge 2026

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

January Power BI Update Carousel

Power BI Monthly Update - January 2026

Check out the January 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.

Top Kudoed Authors