Kusto 查询循环 json 数组

Kusto query loop over json array

我想像这样遍历 JSON 数组:

[
  {
    "id": 1,
    "count" : 30
  },
  {
    "id": 2,
    "count" : 10
  },
  {
    "id": 3,
    "count" : 5
  },
  {
    "id": 4,
    "count" : 15
  }
]

所以我想要一个查询来投影一个 TotalCount,它基本上遍历 json 数组并对所有计数值求和 (30+10+5+15) 并显示为一个新列

您可以使用 mv-apply 这样做。

例如:

datatable(d: dynamic) [
    dynamic([
    {
        "id": 1,
        "count": 30
        },
        {
        "id": 2,
        "count": 10
        },
        {
        "id": 3,
        "count": 5
        },
        {
        "id": 4,
        "count": 15
        }
    ]),
    dynamic([
        {
        "id": 1,
        "count": 3
        },
        {
        "id": 2,
        "count": 1
        },
        {
        "id": 3,
        "count": 50
        },
        {
        "id": 4,
        "count": 1
        }
    ]),
]
| mv-apply d on (
    summarize result = sum(tolong(d['count']))
)
result
60
55