Kusto 查询:如何按列汇总,然后检查某些记录是否在组中
Kusto query: How to summarize by column(s), then check if certain records are in the group
我对 Kusto 还很陌生,需要在 Log analytics 中查询某些记录。
问题:需要按列ActivityId
进行汇总,然后检查RunbookNames
(另一个列名)的列表是否在组内。我想要所有具有 Foo 和 Bar 的 activityid。如果它不包含两者,则它不满足标准。
类似于 SQL 查询的东西,我们有 GROUP BY
then HAVING
子句。
有什么想法吗?
示例数据:
ActivityId
手册名称
结果
5271D9E9
富
状态 2,状态 1
5271D9E9
富
状态 2,状态 1
5271D9E9
栏
状态 2,状态 3
394B044
福伊
状态 2,状态 1
394B044
杜伊
状态 2,状态 1
D94321B
杜伊
状态 2,状态 1
9E4371A
富
状态 2,状态 1
预期结果:
ActivityId
手册名称
结果
5271D9E9
富
状态 2,状态 1
5271D9E9
富
状态 2,状态 1
5271D9E9
栏
状态 2,状态 3
根据给定的输入和输出,以及您在评论中的说明,以下查询可以为您指明方向。
let RunbookNames = dynamic("Foo", "Bar");
T
| SUMMARIZE r = make_set(RunbookName) by ActivityId
| where array_length(set_intersect(r, RunbookNames)) == array_length(RunbookNames)
| mv-expand RunbookName = r
我对 Kusto 还很陌生,需要在 Log analytics 中查询某些记录。
问题:需要按列ActivityId
进行汇总,然后检查RunbookNames
(另一个列名)的列表是否在组内。我想要所有具有 Foo 和 Bar 的 activityid。如果它不包含两者,则它不满足标准。
类似于 SQL 查询的东西,我们有 GROUP BY
then HAVING
子句。
有什么想法吗?
示例数据:
ActivityId | 手册名称 | 结果 |
---|---|---|
5271D9E9 | 富 | 状态 2,状态 1 |
5271D9E9 | 富 | 状态 2,状态 1 |
5271D9E9 | 栏 | 状态 2,状态 3 |
394B044 | 福伊 | 状态 2,状态 1 |
394B044 | 杜伊 | 状态 2,状态 1 |
D94321B | 杜伊 | 状态 2,状态 1 |
9E4371A | 富 | 状态 2,状态 1 |
预期结果:
ActivityId | 手册名称 | 结果 |
---|---|---|
5271D9E9 | 富 | 状态 2,状态 1 |
5271D9E9 | 富 | 状态 2,状态 1 |
5271D9E9 | 栏 | 状态 2,状态 3 |
根据给定的输入和输出,以及您在评论中的说明,以下查询可以为您指明方向。
let RunbookNames = dynamic("Foo", "Bar");
T
| SUMMARIZE r = make_set(RunbookName) by ActivityId
| where array_length(set_intersect(r, RunbookNames)) == array_length(RunbookNames)
| mv-expand RunbookName = r