【问题标题】:Kusto summarize unique occurrences of the value in the columnKusto 总结列中值的唯一出现次数
【发布时间】:2020-08-19 18:06:23
【问题描述】:

我有以下数据集:

let t1 = datatable(id:string, col1:string, col2:string)
[
    '1', 'ValueA', 'AT',
    '2', 'ValueC', 'AT',
    '3', 'ValueA', 'AT',
    '4', 'ValueB', 'AT',
    '1', 'ValueC', 'v-username',
];
t1 
| summarize (Id) by col1

我的目标是计算每个 ID 在 col1 中值的出现次数。因为 ID=1 出现了两次,所以我需要决定是取 ValueA 还是 ValueC。这是由 col2 的值决定的。如果 col2 以“v-”开头,则从此行中获取值。 当我使用“按 col1 汇总(Id)”时,我得到:

ValueA,2
ValueC,2
ValueB,1
ValueD,1
Total:6

预期结果是:

ValueA,1
ValueC,2
ValueB,1
ValueD,1
Total:5

是否可以使用 Kusto 实现?

【问题讨论】:

    标签: azure-data-explorer summarize


    【解决方案1】:

    一个。当你运行... | summarize (id) by col1" you should get a semantic error as there's no aggregation function specified (e.g. you could have run... |通过 col1` 汇总 dcount(id))

    b.在您的预期结果中,尚不清楚ValueD, 1 的来源。因为您的datatable 表达式不包含ValueD 的记录

    c。如果我不得不猜测您的问题的解决方案,尽管 ab,这将是我的猜测:

    let t1 = datatable(id:string, col1:string, col2:string)
    [
        '1', 'ValueA', 'AT',
        '2', 'ValueC', 'AT',
        '3', 'ValueD', 'AT',
        '4', 'ValueB', 'AT',
        '1', 'ValueC', 'v-username',
    ];
    t1 
    | summarize c = dcount(id) by col1
    | as T
    | union (T | summarize c = sum(c) by col1 = "Total")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-23
      • 2020-10-11
      • 2018-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多