Как получить различное количество для каждой таблицы с помощью kusto (Azure Data Explorer) - PullRequest
0 голосов
/ 10 июля 2020

У меня есть много таблиц с разными именами, но с той же схемой в базе данных, например:

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;
...

Как я могу получить точное количество Guid для каждой таблицы с помощью одной команды kusto, например:

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

1 Ответ

1 голос
/ 11 июля 2020

вы можете использовать оператор 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           |
...