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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Calcular el TAT promedio para cada categoría

Hola

Tengo que calular el tiempo promedio de vuelta entre el estado DEACTIVATED & ACTIVATED para cada "tipo de alerta" único.

Por ejemplo: Filas 1 a 26 es un tipo de alerta, pero tengo muchos tickets Activado y desactivado para el mismo, Todo lo que necesito es ver cómo es el tiempo medio TAT mantenido en cada tipo de alerta.

Además, si el tipo de alerta no tiene el estado desactivo, el TAT no se debe calcular...

sharm_0-1611597500905.png

No estoy seguro de cómo manejar este caso, ¿Puede alguien ayudar con este

2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

No @sharm,

¿Cuál es el cálculo que necesita hacer exactamente? ¿necesita calcular la diferencia de tiempo entre cada estado y luego el promedio?

Consulte esta publicación sobre cómo obtener respuestas a su pregunta rápidamente (cortesía de @Greg_Deckler) y Cómo proporcionar datos de ejemplo en el foro de Power BI (cortesía de @ImkeF).

¿Puede compartir datos de maqueta o una muestra de su archivo PBIX. Puede utilizar un onedrive, google drive, que transferimos o enlace similar para cargar sus archivos.

Si la información es confidencial, compártala a través de un mensaje privado.

View solution in original post

Syndicate_Admin
Administrator
Administrator

No @sharm,

Según mi opinión, desea calcular el tiempo promedio calculado por el tiempo desactivo - tiempo activado de cada AlertType , ¿verdad?

Puede seguir estos pasos:

1. Agregue una columna de rango a la tabla:

Rank =
VAR a = [Alert Type]
VAR t1 =
    FILTER ( ALL ( 'Table' ), 'Table'[Alert Type] = a )
RETURN
    RANKX ( t1, RANKX ( t1, [Time],, ASC, SKIP ),, ASC, SKIP )

2. Utilice la siguiente fórmula para crear una tabla calculada:

New Table =
VAR _t1 =
    ADDCOLUMNS (
        SELECTCOLUMNS (
            CALCULATETABLE ( 'Table', 'Table'[Status] = "Activated" ),
            "AlertType", [Alert Type],
            "Ac", [Time],
            "Index", [Rank]
        ),
        "De",
            LOOKUPVALUE (
                'Table'[Time],
                'Table'[Alert Type], [AlertType],
                'Table'[Rank], [Index] + 1
            )
    )
RETURN
    ADDCOLUMNS ( _t1, "TimeDiff", DATEDIFF ( [Ac], [De], SECOND ) )

3. Calcular el tiempo medio

Average Measure =
CALCULATE (
    AVERAGE ( 'New Table'[TimeDiff] ),
    FILTER ( 'New Table', 'New Table'[AlertType] = MAX ( 'New Table'[AlertType] ) )
)

O

Average Column =
CALCULATE (
    AVERAGE ( 'New Table'[TimeDiff] ),
    ALLEXCEPT ( 'New Table', 'New Table'[AlertType] )
)

La salida final se muestra a continuación:

1.28.3.1.PNG

Por favor, eche un vistazo al archivo pbix aquí.

Saludos
Eyelyn Qin
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

No @sharm,

Según mi opinión, desea calcular el tiempo promedio calculado por el tiempo desactivo - tiempo activado de cada AlertType , ¿verdad?

Puede seguir estos pasos:

1. Agregue una columna de rango a la tabla:

Rank =
VAR a = [Alert Type]
VAR t1 =
    FILTER ( ALL ( 'Table' ), 'Table'[Alert Type] = a )
RETURN
    RANKX ( t1, RANKX ( t1, [Time],, ASC, SKIP ),, ASC, SKIP )

2. Utilice la siguiente fórmula para crear una tabla calculada:

New Table =
VAR _t1 =
    ADDCOLUMNS (
        SELECTCOLUMNS (
            CALCULATETABLE ( 'Table', 'Table'[Status] = "Activated" ),
            "AlertType", [Alert Type],
            "Ac", [Time],
            "Index", [Rank]
        ),
        "De",
            LOOKUPVALUE (
                'Table'[Time],
                'Table'[Alert Type], [AlertType],
                'Table'[Rank], [Index] + 1
            )
    )
RETURN
    ADDCOLUMNS ( _t1, "TimeDiff", DATEDIFF ( [Ac], [De], SECOND ) )

3. Calcular el tiempo medio

Average Measure =
CALCULATE (
    AVERAGE ( 'New Table'[TimeDiff] ),
    FILTER ( 'New Table', 'New Table'[AlertType] = MAX ( 'New Table'[AlertType] ) )
)

O

Average Column =
CALCULATE (
    AVERAGE ( 'New Table'[TimeDiff] ),
    ALLEXCEPT ( 'New Table', 'New Table'[AlertType] )
)

La salida final se muestra a continuación:

1.28.3.1.PNG

Por favor, eche un vistazo al archivo pbix aquí.

Saludos
Eyelyn Qin
Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Gracias @Eyelyn9 . ¡Funcionó!

Syndicate_Admin
Administrator
Administrator

No @sharm,

¿Cuál es el cálculo que necesita hacer exactamente? ¿necesita calcular la diferencia de tiempo entre cada estado y luego el promedio?

Consulte esta publicación sobre cómo obtener respuestas a su pregunta rápidamente (cortesía de @Greg_Deckler) y Cómo proporcionar datos de ejemplo en el foro de Power BI (cortesía de @ImkeF).

¿Puede compartir datos de maqueta o una muestra de su archivo PBIX. Puede utilizar un onedrive, google drive, que transferimos o enlace similar para cargar sus archivos.

Si la información es confidencial, compártala a través de un mensaje privado.

Gracias @MFelix , Funciona

No @sharm,

Al examinar los datos que ha proporcionado, debe realizar los pasos siguientes en el editor de consultas:

  • Agrupar fila por categoría (no olvide seleccionar Todas las filas en la operación)

  • Agregar una columna de índice
  • Expanda toda la columna de la columna que presenta los valores Tabla
  • Ordenar columnas por (el orden es muy importante):
    • Índice
    • Tiempo recibido

  • Agregar una columna de índice
  • Dar formato a las columnas
  • Agregue la siguiente columna personalizada:
[Time Received] - (if [IndexAllRows] = 0 then null else if #"Changed Type" {[IndexAllRows] - 1} [Index] = #"Changed Type" {[IndexAllRows] } [Index] then #"Changed Type" {[IndexAllRows] - 1} [Time Received] else null )
  • Dar formato a las columnas
  • Si lo desea, puede eliminar las columnas de índice.

Ahora simplemente cargue los valores en el PBI y luego puede crear la siguiente medida usando dax:

Average time =
FORMAT (
    TIME ( TRUNC ( AVERAGE ( 'Table'[Duration previous stage] ); 0 ); (
        AVERAGE ( 'Table'[Duration previous stage] )
            - TRUNC ( AVERAGE ( 'Table'[Duration previous stage] ); 0 )
    ) * 60; 0 );
    "short time"
)

Compruebe la conexión del archivo PBIX.

Si esto funciona por favor dígame para que pueda publicar la respuesta y usted puede aceptarla para que pueda ayudar a otros.

Helpful resources

Announcements
June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

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

June 2025 community update carousel

Fabric Community Update - June 2025

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

Top Solution Authors