【问题标题】:KQL- make list for numeric values onlyKQL- 仅列出数值
【发布时间】:2021-11-18 11:39:11
【问题描述】:

我是 QKL 的新手,在做一些复杂的聚合时遇到了困难。 我有一个包含两列的数据集 - 一列名为键,一列名为值。 我想用相同的键列出所有 numeric 值,但将非数字值保持为单独的。

例如,如果我的数据集看起来像这样

key value
location "CA"
location "LA"
code "2"
code "3"
IP "192.143.204.19"

意思是我想得到下表

key value
location "CA"
location "LA"
code ["2","3"]
IP "192.143.204.19"

summarize vals=make_set(val) by key 不起作用,因为它将结合“LA”和“CA”,当尝试执行 make_set_if 时,我在非数字值中得到了空列表。

有人知道如何解决吗? 谢谢!

【问题讨论】:

    标签: kql


    【解决方案1】:

    你可以试试这个(分别处理这两种情况,然后unioning 结果):

    let T = datatable(key:string, value:string)
    [
        "location", "CA",
        "location", "LA",
        "code", "2",
        "code", "3",
        "IP",   "192.143.204.19",
    ]
    | extend long_value = tolong(value)
    ;
    T
    | where isnull(long_value)
    | union (
        T
        | where isnotnull(long_value)
        | summarize value = tostring(make_list(long_value)) by key
    )
    | project key, value
    
    key value
    location CA
    location LA
    IP 192.143.204.19
    code [2,3]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-16
      • 1970-01-01
      • 2021-06-10
      相关资源
      最近更新 更多