首页 > 解决方案 > 如何汇总 Kusto 中的所有列?

问题描述

对于以下内容datatable,有没有办法获得预期的结果而不必一一指定所有列?这里的问题是我的真实表有 20 多列。我正在寻找更清洁的解决方案。

预期结果

Col1Sum | Col2Sum | Col3Sum | Col4Sum
--------------------------------------
3       | 3       | 3       | 3

表+查询

datatable(Col1: int, Col2: int, Col3: int, Col4: int)
[
  1, 1, 1, 1,
  1, 1, 1, 1,
  1, 1, 1, 1,
]
| summarize
  Col1Sum = sum(Col1),
  Col2Sum = sum(Col2),
  Col3Sum = sum(Col3),
  Col4Sum = sum(Col4);

标签: azure-data-explorerkql

解决方案


您可以使用 Kusto 查询生成查询:

datatable(Col1: int, Col2: int, Col3: int, Col4: int)
[
  1, 1, 1, 1,
  1, 1, 1, 1,
  1, 1, 1, 1,
]
| getschema 
| extend SumColumn = strcat(ColumnName,  "Sum = sum(", ColumnName, ") ")
| summarize replace('"|\\[|]', "", tostring(make_list(SumColumn)))
| project Query = strcat("summarize ", Column1)

在此处输入图像描述


推荐阅读