如何合并一列的重复项,然后在另一列的同一行中有多个结果



我对kql很陌生,我一直在这个查询上。我希望有查询显示哪些用户已经从不同的州登录。我创建了这个查询,但我不知道如何计算列"中的结果;名称";。

SigninLogs
| project tostring(LocationDetails.state), UserDisplayName
| extend p =pack( 'Locations', LocationDetails_state)
| summarize names = make_set(p)  by UserDisplayName

这产生一列";名称";有这样一行:

[{"Locations":"Arkansas"},{"Locations":"Iowa"},{"Locations":""}]

这里有一个简单的查询,它获取来自用户的所有登录信息和另一个包含位置的列。

SigninLogs
| where ResultType == "0"
| summarize by UserDisplayName, tostring(LocationDetails.state)

有没有一种方法可以组合用户列的重复项,然后在第二列中显示每个位置?如果是的话,我可以计算每个位置,以便根据位置>1.

我想查询显示哪些用户从不同状态登录

假设我正确理解了你的问题,这可能会起作用(使用array_length()(:

SigninLogs
| project State = tostring(LocationDetails.state), UserDisplayName
| summarize States = make_set(State) by UserDisplayName
| where array_length(States) > 1 // filter users who had sign-ins from *more than 1 state*

相关内容

  • 没有找到相关文章

最新更新