The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event! Join us in Stockholm, Sweden from September 24-27, 2024.
2-for-1 sale on June 20 only!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Me gustaría informar sobre la disponibilidad del servicio, volviendo a publicar mi respuesta tardía como se cerró mi subproceso. vea el hilo cerrado aquí: https://community.powerbi.com/t5/Desktop/Need-help-removing-ignoring-double-counting-of-data/m-p/198...
Interrupción | Servicio | Grupo | Empezar | Fin |
1 | s1 | g1 | 6/7/21 12:00:00 | 6/7/21 13:00:00 |
2 | s1 | g1 | 6/7/21 12:30:00 | 6/7/21 13:00:00 |
3 | s1 | g1 | 6/7/21 12:22:00 | 6/7/21 12:44:00 |
4 | s1 | g1 | 6/9/21 13:00:00 | 6/9/21 14:00:00 |
5 | s2 | g1 | 6/7/21 12:00:00 | 6/7/21 13:00:00 |
Creo que el cálculo proporcionado mostrará el tiempo de inactividad desde 6/7/21 12:00:00 hasta 6/9/21 14:00:00 cuando 's1' solo ha estado abajo durante dos horas en total. Además, ahora digamos que queremos llamar a estos dos servicios un grupo. Me gusta poder informar también de la disponibilidad / tiempo de in inunción total no superpuesto del grupo, así como de cada servicio individual.
Solved! Go to Solution.
Hay @davidturk ,
1.Cree una nueva columna calculada de la siguiente manera
Date = [Start].[Date]
2.A continuación, cree la siguiente columna calculada
Actual Seconds by Service =
VAR _minStart =
MINX (
FILTER (
'Table',
[Service] = EARLIER ( [Service] )
&& [Date] = EARLIER ( [Date] )
),
[Start]
)
VAR _minEnd =
MAXX ( FILTER ( 'Table', 'Table'[Start] = _minStart ), [End] )
RETURN
SWITCH (
TRUE (),
[Start] = _minStart
&& [End] = _minEnd, DATEDIFF([Start],[End],SECOND),
[Start] >= _minStart
&& [End] <= _minEnd, 0
)
Actual Seconds by Group =
VAR _minStart =
MINX (
FILTER ( 'Table', [Date] = EARLIER ( [Date] ) && [Group] = EARLIER ( [Group] ) ),
[Start]
)
VAR _minEnd =
MAXX ( FILTER ( 'Table', [Start] = _minStart ), [End] )
VAR _id =
MINX ( FILTER ( 'Table', [Start] = _minStart && [End] = _minEnd ), [Outage] )
RETURN
SWITCH (
TRUE (),
[Start] = _minStart
&& [End] = _minEnd
&& [Outage] = _id, DATEDIFF ( [Start], [End], SECOND ),
[Start] >= _minStart
&& [End] <= _minEnd, 0
)
3.In la vista de informe, puede crear elementos visuales de tabla para verlos
Saludos
Esteban Tao
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
No @davidturk ,
¿Por qué solo hay dos horas entre el 6/7/21 12:00:00 y el 6/9/21 14:00:00? , ¿Su número de días es incorrecto? Es el 7 de junio en lugar del 9 de junio.
¿Cuál es su resultado esperado? Por favor, muestre los resultados esperados en forma de tabla.
Saludos
Esteban Tao
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
S1 tiene 1 hora de interrupción total entre las 7/21 12:00 y las 13:00. Hay tres interrupciones en esta ventana, pero quiero ignorar los tiempos superpuestos en los resultados para obtener un tiempo total de interrupción "verdadero". Tiene otra 1 hora de interrupción entre las 6/9 de las 13:00 y las 14:00, para un total de 2 horas de tiempo total de interrupción.
S2 tiene 1 hora de tiempo total de interrupción entre las 6/7 de las 12:00 y las 13:00.
La medida proporcionada en el hilo original para mí funcionó bien antes de agregar la fila a mi ejemplo para 6/9, pero aftward informa que el servicio está experimentando una interrupción durante casi 2 días. Básicamente, siempre y cuando todas las interrupciones estén agrupadas y contiguas en el tiempo, funciona bien, pero no si se distribuyen en diferentes clústeres.
También quiero poder agruparlos y obtener el tiempo total de interrupción correcto y no superpuesto:
Servicio | OutageTime (segundos) |
s1 | 7200 |
s2 | 3600 |
Grupo | OutageTime (segundos) |
g1 | 7200 |
Hay @davidturk ,
1.Cree una nueva columna calculada de la siguiente manera
Date = [Start].[Date]
2.A continuación, cree la siguiente columna calculada
Actual Seconds by Service =
VAR _minStart =
MINX (
FILTER (
'Table',
[Service] = EARLIER ( [Service] )
&& [Date] = EARLIER ( [Date] )
),
[Start]
)
VAR _minEnd =
MAXX ( FILTER ( 'Table', 'Table'[Start] = _minStart ), [End] )
RETURN
SWITCH (
TRUE (),
[Start] = _minStart
&& [End] = _minEnd, DATEDIFF([Start],[End],SECOND),
[Start] >= _minStart
&& [End] <= _minEnd, 0
)
Actual Seconds by Group =
VAR _minStart =
MINX (
FILTER ( 'Table', [Date] = EARLIER ( [Date] ) && [Group] = EARLIER ( [Group] ) ),
[Start]
)
VAR _minEnd =
MAXX ( FILTER ( 'Table', [Start] = _minStart ), [End] )
VAR _id =
MINX ( FILTER ( 'Table', [Start] = _minStart && [End] = _minEnd ), [Outage] )
RETURN
SWITCH (
TRUE (),
[Start] = _minStart
&& [End] = _minEnd
&& [Outage] = _id, DATEDIFF ( [Start], [End], SECOND ),
[Start] >= _minStart
&& [End] <= _minEnd, 0
)
3.In la vista de informe, puede crear elementos visuales de tabla para verlos
Saludos
Esteban Tao
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the June 2024 Power BI update to learn about new features.