KQL- 仅列出数值

KQL- make list for numeric values only

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

例如,如果我的数据集如下所示

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

意思是我想得到下面的table

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 我在非数字值中得到空列表。

有没有人知道如何解决它? 谢谢!

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

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]