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

Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!

Reply
Syndicate_Admin
Administrator
Administrator

Calcular la antigüedad de los incidentes cerrados en función de la fecha de cierre del incidente

Hola a todos,

Tengo el siguiente escenario en el que quiero calcular el tiempo que se tarda en resolver incidentes, he calculado la medida como se muestra a continuación,

Quiero calcular la medida a continuación en función de la fecha en que se cerró el incidente, pero tengo la tabla conectada para crear la fecha y, por lo tanto, todas las fechas se filtran en función de la fecha de creación, quiero saber cómo calcular el tiempo que tardan los incidentes resueltos en función de la fecha en que se cerró el incidente. Su ayuda sería útil en el tema anterior. Gracias

Time taken for Resolved incidents = 
VAR AveDur =
    CALCULATE(AVERAGEX(Incidents,Incidents[Aged_Days_Incidents Closed_minutes] ),FILTER(ALL('Incidents'[Date incident closed].[Date]), Incidents[Date incident closed].[Date] <=MAX(Incidents[Date incident closed].[Date])))

VAR Days =
    INT ( AveDur / 60 / 24 )
VAR Hours =
    INT ( AveDur / 60 - Days * 24 )
VAR Minutes =
    ROUND ( MOD ( AveDur, 60 ), 0 )
VAR DaysText =
    IF ( Days >= 1, FORMAT ( Days, "General Number" ))
VAR HoursText =
    FORMAT ( Hours, "General Number" ) & "H"
VAR MinutesText =
    FORMAT ( Minutes, "General Number" ) & "M"
RETURN
     IF(VALUE(DaysText) = BLANK(), BLANK(), VALUE(DaysText))

1 ACCEPTED SOLUTION

Hola @reddevil

Puede utilizar la función USERRELATIONSHIP para calcular en función de una relación inactiva. Por ej.

VAR AveDur =
    CALCULATE(
            AVERAGEX(Incidents,Incidents[Aged_Days_Incidents Closed_minutes]),
            USERELATIONSHIP(Incidents[Date incident closed],DimDate[Date])
            )

View solution in original post

11 REPLIES 11
Syndicate_Admin
Administrator
Administrator

Hola @reddevil

  • Cree una tabla de fecha independiente (dimensión) en lugar de utilizar la columna de fecha de la tabla principal.
  • Combine la tabla Incidente con la tabla Fecha en la fecha de creación y la fecha de cierre (solo habrá una relación activa).
  • En la mayoría de los escenarios, la relación con la fecha de creación permanece activa y la fecha de cierre permanece inactiva.
  • Para calcular el tiempo necesario utilizando la fecha cerrada, debe usar la función USERRELATIONSHIPCOMO se muestra a continuación:
VAR AveDur =
    CALCULATE(
            AVERAGEX(Incidents,Incidents[Aged_Days_Incidents Closed_minutes]),
            USERELATIONSHIP(Incidents[Date incident closed],DimDate[Date])
            )

¿Respondí a tu pregunta?
¡Por favor, ayúdanos haciendo clic en el botón de pulgar hacia arriba y marca mi publicación como una solución!

Gracias

Syndicate_Admin
Administrator
Administrator

Gracias @BIDataRef @hnguy71, lo he resuelto utilizando la tabla DC como segmentador.

Syndicate_Admin
Administrator
Administrator

Hola

Comparta algunos datos con los que trabajar y muestre el resultado esperado. Comparta datos en un formato que se pueda pegar en un archivo de MS Excel.

Hola Ashish,

A continuación se muestran los datos de muestra:

Nombre del estadoFecha de creaciónFecha de cierre del incidentePromedio
Cerrado25/06/202411/07/2024
Cerrado25/06/202411/07/2024
Cerrado25/06/202411/07/2024
Cerrado15/02/202427/08/2024
Cerrado15/02/202420/06/2024
Resultado esperado: Tiempo necesario para resolver incidentes en función de la fecha en que se cerró el incidente
Tenemos cálculos de año de fin, año de trimestre y año de mes
Syndicate_Admin
Administrator
Administrator

Hola @reddevil

Desde tu cálculo, no parece que estés usando ninguna tabla de fechas. No estoy seguro de lo que quieres decir con "conectado". ¿Está utilizando una segmentación de datos en su página o en el panel de filtro con la fecha de creación para filtrar sus datos?

Si ese es el caso, te sugiero que hagas dos cosas:

  1. Configura una tabla de fechas dedicada y crea una relación con tu tabla de hechos. Un ACTIVO para la fecha de creación y uno INACTIVO para la fecha de cierre
  2. Configure una tabla desconectada que contenga las mismas fechas y utilícela como segmentación. Las fechas o períodos recuperados de allí deben usarse para calcular las expresiones creadas y cerradas

Hola @hnguy71

Intenté aplicar eso, pero estoy usando solo un filtro como fecha cerrada de la tabla de incidentes que está conectada a la tabla de fechas.

Hola @reddevil ,

De forma muy similar a la respuesta de @BIDataRef, tendría que ajustar la expresión para incluir una nueva función llamada USERELATIONSHIP.

CALCULATE(
	AVERAGEX(
		Incidents,
		Incidents[Aged_Days_Incidents Closed_minutes]
		),
	FILTER(
		ALL('Incidents'[Date incident closed].[Date]), 
		Incidents[Date incident closed].[Date] <= MAX(Incidents[Date incident closed].[Date])
	), 
	USERELATIONSHIP(Incidents[Date incident closed].[Date], YOUR_DATE_TABLE[Date]) 
)

Sin embargo, es posible que aún tenga un problema porque los valores de la segmentación dependen de la "Fecha de creación" en lugar de las fechas de creación y cierre. Aquí es donde recomendaría crear una tabla separada y desconectada con todos los valores de fecha posibles.

¿Cree que debería usar la tabla desconectada en la función USERELATIONSHIP?

Hola @hnguy71 ,

Gracias por responder, sí, tengo problemas con la segmentación de fechas de creación y creé una tabla de fechas separada similar a la tabla de fechas de creación. ¿Cree que debería usar esa tabla de fechas para la segmentación ya que tengo otras medidas en la tabla que dependen de la segmentación de fecha de creación?

Hola @hnguy71

Tengo una tabla de fechas conectada a la tabla de incidentes mediante Crear fecha. He implementado la relación inactiva basada en la fecha cerrada en la tabla de fechas. Además, ¿cómo creamos la medida de envejecimiento para los incidentes resueltos en función de la fecha de cierre?

Hola @reddevil

Puede utilizar la función USERRELATIONSHIP para calcular en función de una relación inactiva. Por ej.

VAR AveDur =
    CALCULATE(
            AVERAGEX(Incidents,Incidents[Aged_Days_Incidents Closed_minutes]),
            USERELATIONSHIP(Incidents[Date incident closed],DimDate[Date])
            )

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

Vote for your favorite vizzies from the Power BI World Championship submissions!

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