在 Kusto 查询语言(Azure Monitor 日志)中仅获取类别内的唯一值
Getting only unique values within a category in Kusto Query Language (Azure Monitor Logs)
我有这种格式的数据:
Category Session_ID Step_Name
A 100 1
A 100 2
A 200 1
A 200 1 <--
A 200 1 <--
A 200 2
B 300 1
B 300 1 <--
我需要删除每个 Session_ID 中步骤名称 的重复值。比如ID = 200,有3个'1'需要改成1个'1',所以最后的数据是这样的:
Category Session_ID Step_Name
A 100 1
A 100 2
A 200 1
A 200 2
B 300 1
你应该使用 distinct operator 你的情况:
your_table
| distinct Category, Session_ID, Step_Name
然后你可以得到如下所示的预期输出,它在我这边有效:
Category Session_ID Step_Name
A 100 1
A 100 2
A 200 1
A 200 2
B 300 1
对于你在评论中的问题,如果你使用上面的查询,像"A 100 1"这样的记录将被视为一个实体,并且只有当有2个或更多完全相同 记录如 "A 100 1" 如果使用 distinct 将只保留 1 条记录。
如果还有一条记录如"B 100 1",那么"A 100 1"和"B 100 1"两条记录都会保留。
我有这种格式的数据:
Category Session_ID Step_Name
A 100 1
A 100 2
A 200 1
A 200 1 <--
A 200 1 <--
A 200 2
B 300 1
B 300 1 <--
我需要删除每个 Session_ID 中步骤名称 的重复值。比如ID = 200,有3个'1'需要改成1个'1',所以最后的数据是这样的:
Category Session_ID Step_Name
A 100 1
A 100 2
A 200 1
A 200 2
B 300 1
你应该使用 distinct operator 你的情况:
your_table
| distinct Category, Session_ID, Step_Name
然后你可以得到如下所示的预期输出,它在我这边有效:
Category Session_ID Step_Name
A 100 1
A 100 2
A 200 1
A 200 2
B 300 1
对于你在评论中的问题,如果你使用上面的查询,像"A 100 1"这样的记录将被视为一个实体,并且只有当有2个或更多完全相同 记录如 "A 100 1" 如果使用 distinct 将只保留 1 条记录。
如果还有一条记录如"B 100 1",那么"A 100 1"和"B 100 1"两条记录都会保留。