Forum Discussion
Memo-mohammed
3 years agoFrequent Visitor
Lists of Groups by overlapping datetime
Hello Im very new to Power Query and i need help . I have a table : ID Alarm-ID Sector-id Occurred-On Cleared-On 281 27020 29/8/2023 12:34 29/8/2023 12:39 832 2312 0 29/8...
- 3 years ago
Hello, Memo-mohammed try this
let Source = your_table, sorted = Table.Sort(Source,{{"ID", Order.Ascending}, {"Alarm-ID", Order.Ascending}, {"Occurred-On ", Order.Ascending}, {"Cleared-On", Order.Ascending}}), g1 = Table.Group( sorted, {"ID", "Alarm-ID", "Occurred-On ", "Cleared-On"}, {{"All", each _}}, GroupKind.Local, (s, c) => Byte.From( List.AnyTrue( {s[ID] <> c[ID], s[#"Alarm-ID"] <> c[#"Alarm-ID"], s[#"Cleared-On"] < c[#"Occurred-On "]} ) )), g2 = Table.Group(g1, {"ID", "Alarm-ID"}, {{"All", each _[All]}}) in g2 - 3 years ago
let Source = your_table, sorted = Table.Sort(Source,{{"ID", Order.Ascending}, {"Alarm-ID", Order.Ascending}, {"Occurred-On ", Order.Ascending}, {"Cleared-On", Order.Ascending}}), g1 = Table.Group( sorted, {"ID", "Alarm-ID", "Occurred-On ", "Cleared-On"}, {{"All", each _}}, GroupKind.Local, (s, c) => Byte.From( List.AnyTrue( {s[ID] <> c[ID], s[#"Alarm-ID"] <> c[#"Alarm-ID"], s[#"Cleared-On"] < c[#"Occurred-On "]} ) ))[All], tbl_tx = Table.Combine( List.Transform( g1, (x) => #table( {"ID", "Alarm-ID", "Max Occured-On", "Min Cleared-On", "Sector-id"}, {{x[ID]{0}, x[#"Alarm-ID"]{0}, List.Max(x[#"Occurred-On "]), List.Min(x[#"Cleared-On"]), Text.Combine(List.Transform(List.Sort(x[#"Sector-id"]), Text.From), ", ")}}) ) ) in tbl_tx
AlienSx
Super User
3 years agoHello, Memo-mohammed try this
let
Source = your_table,
sorted = Table.Sort(Source,{{"ID", Order.Ascending}, {"Alarm-ID", Order.Ascending}, {"Occurred-On ", Order.Ascending}, {"Cleared-On", Order.Ascending}}),
g1 =
Table.Group(
sorted, {"ID", "Alarm-ID", "Occurred-On ", "Cleared-On"}, {{"All", each _}}, GroupKind.Local,
(s, c) =>
Byte.From(
List.AnyTrue(
{s[ID] <> c[ID],
s[#"Alarm-ID"] <> c[#"Alarm-ID"],
s[#"Cleared-On"] < c[#"Occurred-On "]}
)
)),
g2 = Table.Group(g1, {"ID", "Alarm-ID"}, {{"All", each _[All]}})
in
g2