首页 > 解决方案 > 如何通过 kusto (Azure Data Exploer) 获取每个表的不同计数

问题描述

我有很多不同名称但在数据库中具有相同架构的表,例如:

let _t1 = datatable(Guid:string, name:string)
[
'a00001','n1',
'a00001', 'n2',
'a00001', 'n1',
'a00002', 'n3',
'a00002', 'n2',
'a00003', 'n1',
];
let _t2 = datatable(Guid:string, Name:string)
[
'a00011','n2',
'a00023', 'n2',
'a00032', 'n1',
'a00045', 'n3',
'a00032', 'n7',
'a00083', 'n5',
];

...

我只知道如何获取具有指定表名的计数不同的 Guid。

_t1
| summarize Count=count() by Guid;
| count;
_t2
| summarize Count=count() by Guid;
| count;
...

如何通过一个 kusto 命令获取每个表的 Guid 的不同计数,例如:

table_name| Guid_count
-------------------
t1|3
t2|6
...

标签: azure-data-explorer

解决方案


您可以union在指定withsource选项时使用运算符。

例如:

let _t1 = view() {datatable(Guid:string, name:string)
[
'a00001','n1',
'a00001', 'n2',
'a00001', 'n1',
'a00002', 'n3',
'a00002', 'n2',
'a00003', 'n1',
]}
;
let _t2 = view() { datatable(Guid:string, Name:string)
[
'a00011','n2',
'a00023', 'n2',
'a00032', 'n1',
'a00045', 'n3',
'a00032', 'n7',
'a00083', 'n5',
]}
;
union withsource=source _t*
| summarize dcount(Guid) by source

-->

| source | dcount_Guid |
|--------|-------------|
| _t2    | 5           |
| _t1    | 3           |

推荐阅读