汇总customMeasurements列中的值

时间:2019-09-30 14:34:52

标签: kusto

对于我的公司,我需要从Azure Application Insights中提取数据。 所有相关数据都存储在customMeasurements中。当前,该表如下所示:

name       | itemType        | customMeasurements
-----------------------------------------------------------
AppName    | customEvent     | {
                                Feature1:1,
                                Feature2:0,
                                Feature3:0
                               }
-----------------------------------------------------------
AppName    | customEvent     | {
                                Feature1:0,
                                Feature2:1,
                                Feature3:0
                               }

我正在尝试找到一个Kusto查询,该查询将聚合所有已启用的功能(其值将为“ 1”),但是我无法做到这一点。

我尝试了几种方法来解决此问题,如下所示:

customEvents
| extend test = tostring(customMeasurements.["Feature2"])
| summarize count() by test

这实际上向我显示了Feature2设置为“ 1”的行,但我希望能够提取所有已启用的功能而无需在查询中指定它们(因为它们可以具有自定义名称)。

请有人指出我的正确方向

1 个答案:

答案 0 :(得分:0)

也许,如下所示可以为您提供指导:

datatable(name:string, itemType:string, customMeasurements:dynamic)
[
    'AppName', 'customEvent', dynamic({"Feature1":1,"Feature2":0,"Feature3":0}),
    'AppName', 'customEvent', dynamic({"Feature1":0,"Feature2":1,"Feature3":0}),
]
| mv-apply customMeasurements on
(
    extend feature = tostring(bag_keys(customMeasurements)[0])
    | where customMeasurements[feature] == 1
)
| summarize enabled_features = make_set(feature) by name