Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola a todos
Necesito ayuda para calcular el tiempo trabajado por el equipo de soporte de Nivel 1.
Conjunto de datos de ejemplo:
Tabla 1 que muestra el tiempo de seguimiento de los equipos involucrados para el ID de incidente - 001
Identificación de incidente | Propietario | Equipo | Incidente registrado | Hora de inicio | Hora de finalización |
001 | zzzzz | Q1 | 8/7/2020 15:00 | 8/9/2020 16:45 | 8/9/2020 17:00 |
001 | Abc | L1 | 8/7/2020 15:00 | 8/9/2020 17:00 | 8/9/2020 17:50 |
001 | Aaaaa | E1 | 8/7/2020 15:00 | 8/9/2020 17:50 | 8/9/2020 18:00 |
001 | Xyz | L2 | 8/7/2020 15:00 | 8/9/2020 18:00 | 8/9/2020 19:00 |
001 | Abc | L1 | 8/7/2020 15:00 | 8/9/2020 19:00 | 8/9/2020 19:10 |
001 | Aaaaa | E1 | 8/7/2020 15:00 | 8/9/2020 19:10 | 8/9/2020 20:00 |
Donde -
L1 | Soporte de Nivel 1 |
Q1 | Cola intermedia |
E1 | Cola de escalada |
L2 | Soporte de Nivel 2 |
Así que el objetivo es
1) Calcule el "END TIME" cuando el incidente se haya transferido de L1 a E1 o L2.
2) Cree una columna calculada para días entre "INCIDENT LOGGED" y "END TIME".
Salida esperada:
Identificación de incidente | Propietario | Equipo | Incidente registrado | Hora de inicio | Hora de finalización | Salida esperada |
001 | zzzzz | Q1 | 8/7/2020 15:00 | 8/9/2020 16:45 | 8/9/2020 17:00 | Blanco |
001 | Abc | L1 | 8/7/2020 15:00 | 8/9/2020 17:00 | 8/9/2020 17:50 | 2 días |
001 | Aaaaa | E1 | 8/7/2020 15:00 | 8/9/2020 17:50 | 8/9/2020 18:00 | Blanco |
001 | Xyz | L2 | 8/7/2020 15:00 | 8/9/2020 18:00 | 8/9/2020 19:00 | Blanco |
001 | Abc | L1 | 8/7/2020 15:00 | 8/9/2020 19:00 | 8/9/2020 19:10 | Blanco |
001 | Aaaaa | E1 | 8/7/2020 15:00 | 8/9/2020 19:10 | 8/9/2020 20:00 | Blanco |
Ahora el desafío aquí es que el ciclo de vida del incidente puede ser de diferentes tipos como se indica a continuación -
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
L1 | L1 | Q1 | Q1 | Q1 | Q1 | Q1 | Q1 |
Q1 | L1 | L1 | L1 | L1 | L1 | L1 | |
E1 | L2 | Q1 | E1 | E1 | |||
L1 | L2 | L2 | |||||
L1 | |||||||
E1 |
Por favor, ayude a desarrollar una solución robusta para manejar todo tipo de escenarios.
@amitchandak ,@Greg_Deckler - Por favor, ayuda.
Solved! Go to Solution.
Hola @raimon
Construyo una tabla como la suya y agredo una columna de índice en Power Query Editor para realizar una prueba.
A partir de su declaración creo que desea calcular las diferencias entre el incidente registrado y la hora de finalización por día, si el equipo está cambiando de L1 a E1 o L2. Pero su ejemplo me confunde, la salida esperada en el cuadro rojo debe ser 2 en lugar de en blanco. Si hay algo malo en mi entendimiento, por favor dígamelo.
Mi medida:
Measure =
VAR _Team =
MAX ( 'Table'[Team] )
VAR _Datediff =
DATEDIFF ( MAX ( 'Table'[Incident Logged ] ), MAX ( 'Table'[End Time] ), DAY )
VAR _NextTeam =
CALCULATE (
MAX ( 'Table'[Team] ),
FILTER ( ALL ( 'Table' ), 'Table'[Index] = MAX ( 'Table'[Index] ) + 1 )
)
RETURN
IF (
AND ( _Team = "L1", OR ( _NextTeam = "E1", _NextTeam = "L2" ) ),
_Datediff,
BLANK ()
)
Resultado:
Si esta respuesta todavía no pudo ayudarle a resolver su problema, por favor dígame más detalles como su lógica de cálculo y por qué el L1 en el cuadro rojo no está calificado. O puede compartir su archivo pbix conmigo por su OneDrive para la Empresa.
Puede descargar el archivo pbix desde este enlace: Necesita ayuda en DAX para calcular la "Hora de finalización" en función de los escenarios
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Pruebe estas dos expresiones de columna, reemplazando Incidentes por el nombre real de la tabla.
Overall End Time =
VAR firstE1L2 =
CALCULATE (
MIN ( Incidents[Start Time] ),
ALLEXCEPT ( Incidents, Incidents[Incident Id] ),
Incidents[Team] IN { "E1", "L2" }
)
VAR lastL1 =
CALCULATE (
MAX ( Incidents[End Time] ),
ALLEXCEPT ( Incidents, Incidents[Incident Id] ),
Incidents[Team] = "L1",
Incidents[End Time] <= firstE1L2
)
VAR minL1 =
CALCULATE (
MIN ( Incidents[Start Time] ),
ALLEXCEPT ( Incidents, Incidents[Incident Id] ),
Incidents[Team] = "L1"
)
RETURN
IF ( AND ( Incidents[Start Time] = minL1, Incidents[Team] = "L1" ), lastL1 )
Days = if(not(ISBLANK(Incidents[Overall End Time])), Incidents[Overall End Time] - Incidents[Incident Logged ])
Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Gracias a todos por la ayuda, todavía estoy probando la solución para todos los casos de uso que tenemos. Voy a actualizar pronto.
Hola @raimon
¿Podría decirme si su problema ha sido resuelto? Si es así, acédi es la solución. Más gente se beneficiará de ello. O todavía está confundido al respecto, por favor proporcione más detalles sobre su tabla y su problema o compártame con su archivo pbix de su Onedrive for Business.
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Pruebe estas dos expresiones de columna, reemplazando Incidentes por el nombre real de la tabla.
Overall End Time =
VAR firstE1L2 =
CALCULATE (
MIN ( Incidents[Start Time] ),
ALLEXCEPT ( Incidents, Incidents[Incident Id] ),
Incidents[Team] IN { "E1", "L2" }
)
VAR lastL1 =
CALCULATE (
MAX ( Incidents[End Time] ),
ALLEXCEPT ( Incidents, Incidents[Incident Id] ),
Incidents[Team] = "L1",
Incidents[End Time] <= firstE1L2
)
VAR minL1 =
CALCULATE (
MIN ( Incidents[Start Time] ),
ALLEXCEPT ( Incidents, Incidents[Incident Id] ),
Incidents[Team] = "L1"
)
RETURN
IF ( AND ( Incidents[Start Time] = minL1, Incidents[Team] = "L1" ), lastL1 )
Days = if(not(ISBLANK(Incidents[Overall End Time])), Incidents[Overall End Time] - Incidents[Incident Logged ])
Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
Hola Pat,
Gracias por la solución, me ayudó en mayor medida. Para que encaje en todos los escenarios inferiores -
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
L1 | L1 | Q1 | Q1 | Q1 | Q1 | Q1 | Q1 |
Q1 | L1 | L1 | L1 | L1 | L1 | L1 | |
E1 | L2 | Q1 | E1 | E1 | |||
L1 | L2 | L2 | |||||
L1 | |||||||
E1 |
He modificado el cálculo como -
Tiempo de finalización general ( End Time)
VAR firstE1L2 ?
CALCULAR (
MIN ( Incidentes[Hora de inicio] ),
ALLEXCEPT ( Incidentes, Incidentes[Id de Incidente] ),
Incidentes[Equipo] EN "E1", "L2"
)
VAR lastL1 ?
CALCULAR (
MAX ( Incidentes[Hora de finalización] ),
ALLEXCEPT ( Incidentes, Incidentes[Id de Incidente] ),
Incidentes[Equipo] á "L1",
Incidentes[Hora de finalización] <- firstE1L2
)
VAR maxL1 ?
CALCULAR (
MAX ( Incidentes[Hora de finalización] ),
ALLEXCEPT ( Incidentes, Incidentes[Id de Incidente] ),
Incidentes[Equipo] á "L1"
)
var endTime á if(ISBLANK(firstE1L2),maxL1,lastL1)
devolución
IF ( AND ( Incidentes[Hora de finalización] - endTime, Incidents[Team] á "L1" ), endTime )
Hola @raimon
Construyo una tabla como la suya y agredo una columna de índice en Power Query Editor para realizar una prueba.
A partir de su declaración creo que desea calcular las diferencias entre el incidente registrado y la hora de finalización por día, si el equipo está cambiando de L1 a E1 o L2. Pero su ejemplo me confunde, la salida esperada en el cuadro rojo debe ser 2 en lugar de en blanco. Si hay algo malo en mi entendimiento, por favor dígamelo.
Mi medida:
Measure =
VAR _Team =
MAX ( 'Table'[Team] )
VAR _Datediff =
DATEDIFF ( MAX ( 'Table'[Incident Logged ] ), MAX ( 'Table'[End Time] ), DAY )
VAR _NextTeam =
CALCULATE (
MAX ( 'Table'[Team] ),
FILTER ( ALL ( 'Table' ), 'Table'[Index] = MAX ( 'Table'[Index] ) + 1 )
)
RETURN
IF (
AND ( _Team = "L1", OR ( _NextTeam = "E1", _NextTeam = "L2" ) ),
_Datediff,
BLANK ()
)
Resultado:
Si esta respuesta todavía no pudo ayudarle a resolver su problema, por favor dígame más detalles como su lógica de cálculo y por qué el L1 en el cuadro rojo no está calificado. O puede compartir su archivo pbix conmigo por su OneDrive para la Empresa.
Puede descargar el archivo pbix desde este enlace: Necesita ayuda en DAX para calcular la "Hora de finalización" en función de los escenarios
Saludos
Rico Zhou
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@raimon - Si entiendo las cosas correctamente, está buscando la diferencia de fecha/hora entre filas basada en criterios específicos. Vea mi artículo sobre el tiempo medio entre fallas (MTBF) que utiliza ANTES: http://community.powerbi.com/t5/Community-Blog/Mean-Time-Between-Failure-MTBF-and-Power-BI/ba-p/3395...
Gracias @Greg_Deckler por su respuesta. Estoy mirando el post que ha redirigido. Te hablaré pronto de esto.
Los datos de ejemplo solo tienen filas para el incidente 1, pero la salida esperada muestra en blanco para el incidente 1. ¿Ese incidente cumple con los criterios para ir de L1 a E1 o L2? ¿Puede resaltar/especificar los valores que se deben utilizar para obtener la columna propuesta?
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
@mahoneypat - Gracias por resaltar, cometí un error al publicar la salida esperada. Todas las filas deben ser sólo para "001". He editado la publicación.
En el ejemplo, usted ve que se remite de L1 al E1, así que el "TIEMPO DE FIN" correspondiente al L1 debe ser considerado.
001 | Abc | L1 | Incidente registrado - 8/7/2020 15:00 | 8/9/2020 17:00 | Hora de finalización - 8/9/2020 17:50 | 2 días |
La razón por la que debe volver en blanco para otras filas es informe debe reflejar la eficiencia L1. Y mientras se calcula el promedio, no se tiene en cuenta el espacio en blanco.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |