【问题标题】:Output multiple summarized lists with KQL使用 KQL 输出多个汇总列表
【发布时间】:2021-08-16 19:44:16
【问题描述】:

我想用 KQL 输出多个唯一列值列表。

例如下表:

A B C
1 x one
1 x two
1 y one

我要输出

K V
A [1]
B [x,y]
C [one, two]

我使用summary 和make_list 和2 个联合来完成这项工作,想知道是否可以在没有联合的情况下在同一个查询中完成这项工作?


|独特的A
|总结 k="A", v= make_list(A)
工会

|独特的b
|总结 k="B", v= make_list(B)
...

【问题讨论】:

    标签: kql


    【解决方案1】:

    如果您的数据集大小合理,您可以尝试使用narrow() 插件:https://docs.microsoft.com/en-us/azure/data-explorer/kusto/query/narrowplugin

    datatable(A:int, B:string, C:string)
    [
        1, 'x', 'one',
        1, 'x', 'two',
        1, 'y', 'one',
    ]
    | evaluate narrow()
    | summarize make_set(Value) by Column
    
    Column set_Value
    A ["1"]
    B ["x","y"]
    C ["one","two"]

    或者,您可以使用pack_all()mv-apply 的组合

    datatable(A:int, B:string, C:string)
    [
        1, 'x', 'one',
        1, 'x', 'two',
        1, 'y', 'one',
    ]
    | project p = pack_all()
    | mv-apply p on (
        extend key = tostring(bag_keys(p)[0])
        | project key, value = p[key]
    )
    | summarize make_set(value) by key
    
    key set_value
    A ["1"]
    B ["x","y"]
    C ["one","two"]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-20
      • 1970-01-01
      • 1970-01-01
      • 2021-04-28
      相关资源
      最近更新 更多