Kusto - 嵌套分组

Kusto - nested grouping

我正在尝试从 Azure AD 登录日志分析中的日志中检索、计数和分组数据。

indata包含很多属性,但我感兴趣的是ClientAppUsed和AppDisplayname indata 如下所示:

对象 1

⮡ ClientAppUsed : 浏览器

⮡ AppDisplayName:Azure AD

对象 2

⮡ ClientAppUsed : 浏览器

⮡AppDisplayName:Office客户端应用程序

对象 3

⮡ ClientAppUsed : POP

⮡ AppDisplayName:Microsoft Exchange Online

我想将 ClientAppUsed 类型组合在一起,并计算 AppDisplayName 在这些类型下的每次出现次数。 像这样:

组浏览器

⮡ AppDisplayName:Azure AD

⮡ Azure AD 的数量

⮡ AppDisplayName:Office 客户端应用程序

⮡ Office 客户端应用数量

POP 群组

⮡ AppDisplayName:Microsoft Exchange Online

⮡ Microsoft Exchange Online 的计数

我设法做的是使用以下查询对其进行计数,但我希望将它们组合在一起,而不是将 AppDisplayName 的每次出现显示为一行:

SignInLogs | summerize count() by ClientAppUsed, AppDisplayName

感谢任何帮助!

尚不完全清楚您感兴趣的输出模式是什么,但您可以尝试以下几种替代方法(或者,使用对预期输出模式和内容的更清晰描述来更新您的问题)

1)

datatable(ClientAppUsed:string, AppDisplayName:string)
[
    'Browser', 'Azure AD',
    'Browser', 'Office Client App',
    'POP', 'Microsoft Exchange Online',
]
| summarize count() by ClientAppUsed, AppDisplayName
| summarize make_bag(pack(AppDisplayName, count_)) by ClientAppUsed

2)

datatable(ClientAppUsed:string, AppDisplayName:string)
[
    'Browser', 'Azure AD',
    'Browser', 'Office Client App',
    'POP', 'Microsoft Exchange Online',
]
| summarize count() by ClientAppUsed, AppDisplayName
| summarize make_list(pack("AppDisplayName", AppDisplayName, "Count", count_)) by ClientAppUsed

这是我一直在寻找的,正如 Yoni L 所建议的:

SignInLogs 
| summarize count() by ClientAppUsed, AppDisplayName
| summarize makelist(pack("AppDisplayName", AppDisplayName, "Count", count_)) by ClientAppUsed