在Kusto查询语言(Azure监视器日志)中仅获取类别内的唯一值
我有以下格式的数据:在Kusto查询语言(Azure监视器日志)中仅获取类别内的唯一值,azure,distinct-values,azure-data-explorer,kql,Azure,Distinct Values,Azure Data Explorer,Kql,我有以下格式的数据: 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
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 <--
在您的案例中,您应该使用:
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
和你在评论中的问题,如果你使用上面的查询,像100×1的记录会被认为是一个实体,只有当有2个或更多的完全相同的记录时,如100个1,如果使用不同的,则只剩下1个记录。p> 如果有另一条记录,如B 100 1,则A 100 1和B 100 1这两条记录都将保留。
您应该在您的案例中使用: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
和你在评论中的问题,如果你使用上面的查询,像100×1的记录会被认为是一个实体,只有当有2个或更多的完全相同的记录时,如100个1,如果使用不同的,则只剩下1个记录。p>
如果还有像B 100 1这样的另一条记录,那么A 100 1和B 100 1这两条记录都将保留。可能Distinct正在工作:| Distinct Session_ID,Step_Name是的,这很有效,谢谢。你能把这个作为一个答案吗?也许Distinct正在为:| Distinct Session_ID,Step_Name是的,这很有效,谢谢。你能回答这个问题吗?如果我们有一个时间戳列而不是类别,那么在这种情况下我们该如何处理考虑到会话ID中的重复步骤将具有不同的时间戳,并且将被视为唯一的。如果您有一个时间戳列而不是类别,那么您的预期结果是什么?具有最新时间戳的重复步骤应保留在会话ID中,并且应删除先前重复的步骤。带有第二个箭头的步骤应保留,带有第一个箭头的步骤必须保留removed@user75252,你能帮我发一期新的吗?并在完成时提供链接:。当然,我会这样做。如果我们有一个时间戳列而不是类别,那么在这种情况下如何继续考虑到会话ID中的重复步骤将具有不同的时间戳,并且将被视为唯一的。如果您有一个时间戳列而不是类别,那么您的预期结果是什么?具有最新时间戳的重复步骤应保留在会话ID中,并且应删除先前重复的步骤。带有第二个箭头的步骤应保留,带有第一个箭头的步骤必须保留removed@user75252,你能帮我发一期新的吗?并在完成后提供链接:。当然,我会这样做。