Azure App Insights KQL - 如何执行嵌套数据的汇总?

Azure App Insights KQL - How can I perform an aggregate sum of nested data?

Azure Application Insights 使用的 Kusto 查询语言 (KQL) 显然非常强大,但我似乎无法使用它来聚合嵌套数据。

最好的解释方法是通过示例。我的实际情况使用不同的数据,但有同样的问题,我将在这里解释。使用 Azure Data Explorer 有一个 StormEvents table,它有一个 State 属性,一个 StormSummary 属性,等等。 StormSummary 属性 是 JSON,看起来像:

{"TotalDamages":0,"StartTime":"2007-09-18T20:00:00.0000000Z",...}

我可以进行如下查询:

StormEvents 
| project State, StormSummary.TotalDamages

这给了我一个很好的表格结果。然而,我真正想要的是汇总每个州的总损失,所以我想要这样的东西:

StormEvents 
| project State, sum(StormSummary.TotalDamages)

不幸的是,上述查询失败:

Function 'sum' cannot be invoked in current context.

我的最终目标是在饼图中呈现它以显示每个州的总损失,但我无法获得损失的总和。我正在使用 App Insights 创建与此问题相同的数据。也许如果我以不同的方式构建我的数据,它会有所帮助。我正在使用 Track Event 并在事件中提供一个数字作为 属性。我可以改用 Metric,但文档指示我应该使用 Event,因为我没有自己聚合指标。

作为参考,如果我按州计算记录,则以下工作正常,但我想要按州计算总损失的总和。

StormEvents 
| summarize Count=count() by State
| render piechart

而不是这个:

StormEvents 
| project State, sum(StormSummary.TotalDamages)

你可以试试这个:

StormEvents 
| summarize sum(tolong(StormSummary.TotalDamages)) by State