3

我有一个 Kusto 查询,它返回一系列行,每行都包含一个分号分隔的列表。我已经能够将每一行的内容拆分为一个列表,但我无法展平该列表。不幸的是,我对使用 Kusto 很陌生,所以我有点挣扎。

我尝试使用函数“union”、“join”、“flatten”,并寻找包含“merge”或“selectmany”一词的函数(我将在 c# 中使用 linq 进行扁平化的函数)。我也尝试过搜索类似的 sql 函数,所以我可以在 Kusto 中查找等效查询,但我没有任何运气。

我正在使用查询:

| where Nicknames != ""
| project split(Nicknames, ";")

结果是这样的:

[
"Joe",
"Jim",
"JJ"
]
-------------
[
"Abe"
]
-------------
[
"Hal",
"Harry"
]

我想使用类似(psudo-Kusto)的东西:

UserInfo
| where Nicknames != ""
| project split(Nicknames, ";")
| flatten results
| distinct results

...其中“结果”是上一个操作返回的表。

4

1 回答 1

4

看看mv-expand运算符,例如

datatable(Nicknames:string)["Joe;Jim;JJ", "Abe", "Hal;Harry"] 
| extend Nicknames = split(Nicknames, ";")
| mv-expand Nicknames to typeof(string)
| distinct Nicknames
于 2019-07-31T05:10:32.353 回答