Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
4 years ago
Solved

Uptime

Hola profesionales, tengo datos como este

jaipal_0-1635485815490.png

Necesito %tiempo de actividad, %tiempo de inactividad, horas de actividad y horas de tiempo de inactividad
¿Puede alguien darme ideas, por favor?

Gracias.

  • Syndicate_Admin's avatar
    Syndicate_Admin
    4 years ago

    Hola @ryan_mayu aquí están los datos de muestra. el resultado deseado es

    1. %tiempo de insoción

    2.%tiempo de inactividad

    3.up horas de tiempo

    4.horas de tiempo de inactividad

    Gracias

    NombreDateTimeDuraciónEstado
    A1/10/2021 10:2959Hacia arriba
    A1/10/2021 10:30478957Hacia arriba
    A12/10/2021 22:453894Abajo
    A12/10/2021 23:50145046Hacia arriba
    B1/10/2021 10:3037Hacia arriba
    B1/10/2021 10:30479099Hacia arriba
    B12/10/2021 22:414195Abajo
    B12/10/2021 23:51144955Hacia arriba
    C11/10/2021 15:2337Hacia arriba
    C11/10/2021 15:24112805Hacia arriba
    C12/10/2021 22:443895Abajo
    C12/10/2021 23:49145159Hacia arriba
    D11/10/2021 15:2437Hacia arriba
    D11/10/2021 15:24112805Hacia arriba
    D12/10/2021 22:443895Abajo
    D12/10/2021 23:49144943Hacia arriba
  • Syndicate_Admin's avatar
    Syndicate_Admin
    4 years ago

    Hola, @jaipal
    aquí va su solución, si su duración está en segundo lugar:

    vojtechsima_0-1635492754965.png


    Cuatro medidas:

    Uptime = 1 - (SUMX(FILTER('Table','Table'[Status]="Down"),'Table'[Duration]) / (SUMX(FILTER('Table','Table'[Status]="Up"),'Table'[Duration])))
    
    Downtime = SUMX(FILTER('Table','Table'[Status]="Down"),'Table'[Duration]) / (SUMX(FILTER('Table','Table'[Status]="Up"),'Table'[Duration]))
    
    UptimeHours = (SUMX(FILTER('Table','Table'[Status]="Up"),'Table'[Duration]))/60/60
    
    DowntimeHours = (SUMX(FILTER('Table','Table'[Status]="Down"),'Table'[Duration]))/60/60

  • Syndicate_Admin's avatar
    Syndicate_Admin
    4 years ago

    Me alegro de que esté funcionando, si pudieras Kudo mi mensaje original, por lo que esta amenaza está marcada como Resuelta.
    @jaipal Muchas gracias

10 Replies

  • @jaipal

    ¿Podría proporcionar los datos en la tabla, no la captura de pantalla? Además, los pls proporcionan el resultado esperado en función de sus datos de muestra.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      Hola @ryan_mayu aquí están los datos de muestra. el resultado deseado es

      1. %tiempo de insoción

      2.%tiempo de inactividad

      3.up horas de tiempo

      4.horas de tiempo de inactividad

      Gracias

      NombreDateTimeDuraciónEstado
      A1/10/2021 10:2959Hacia arriba
      A1/10/2021 10:30478957Hacia arriba
      A12/10/2021 22:453894Abajo
      A12/10/2021 23:50145046Hacia arriba
      B1/10/2021 10:3037Hacia arriba
      B1/10/2021 10:30479099Hacia arriba
      B12/10/2021 22:414195Abajo
      B12/10/2021 23:51144955Hacia arriba
      C11/10/2021 15:2337Hacia arriba
      C11/10/2021 15:24112805Hacia arriba
      C12/10/2021 22:443895Abajo
      C12/10/2021 23:49145159Hacia arriba
      D11/10/2021 15:2437Hacia arriba
      D11/10/2021 15:24112805Hacia arriba
      D12/10/2021 22:443895Abajo
      D12/10/2021 23:49144943Hacia arriba
      • Syndicate_Admin's avatar
        Syndicate_Admin
        Administrator

        @jaipal

        ¿Desea calcular el %de tiempo de inoción/ina. o el porcentaje para cada nombre?

        ¿Cómo calcular las horas? ¿Usando la duración? ¿La duración es segundos o minutos?

  • @jaipal , Crear una nueva columna

    tiempo en hora = datediff( [Datetime], maxx(filter(Table, [Name] = earlier([Name]) && [Datetime] < earlier([Datetime]) ),[Datetime]) , minute)/60

    Último estado = Var _max= maxx(filter(Table, [Name] = earlier([Name]) && [Datetime] < earlier([Datetime]) ),[Datetime])
    devolución
    maxx(filter(Table, [Name] = earlier([Name]) && [Datetime] =_max ),[status])

    A continuación, cree medidas
    Tiempo de actividad = sumx(filter(Table,[Last Status] ="Up"),[tiempo en hora])

    Dwontime = sumx(filter(Table,[Last Status] ="Down"),[tiempo en hora])

    0, [[Fecha y hora]] )

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      Hola Amit, thabj tou por tu respuesta, acabo de agregar duración a cada evento, ahora necesitaba

      1. %tiempo de insoción

      2.%tiempo de inactividad

      3.up horas de tiempo

      4.horas de tiempo de inactividad

      gracias de antemano

      NombreDateTimeDuraciónEstado
      A1/10/2021 10:2959Hacia arriba
      A1/10/2021 10:30478957Hacia arriba
      A12/10/2021 22:453894Abajo
      A12/10/2021 23:50145046Hacia arriba
      B1/10/2021 10:3037Hacia arriba
      B1/10/2021 10:30479099Hacia arriba
      B12/10/2021 22:414195Abajo
      B12/10/2021 23:51144955Hacia arriba
      C11/10/2021 15:2337Hacia arriba
      C11/10/2021 15:24112805Hacia arriba
      C12/10/2021 22:443895Abajo
      C12/10/2021 23:49145159Hacia arriba
      D11/10/2021 15:2437Hacia arriba
      D11/10/2021 15:24112805Hacia arriba
      D12/10/2021 22:443895Abajo
      D12/10/2021 23:49144943Hacia arriba
      • Syndicate_Admin's avatar
        Syndicate_Admin
        Administrator

        Me alegro de que esté funcionando, si pudieras Kudo mi mensaje original, por lo que esta amenaza está marcada como Resuelta.
        @jaipal Muchas gracias