将带有分隔符的列字符串拆分为 azure kusto 中的单独列

Khe*_*Mng 3 kql azure-data-explorer

我在天蓝色表中有一列“苹果”,其中包含以下字符串:“颜色:红色,尺寸:小”。

现在的情况:

|-----------------------|
| Apples                |
|-----------------------|
| Colour:red,Size:small |
|-----------------------|
Run Code Online (Sandbox Code Playgroud)

期望的情况:

|----------------|
| Colour | Size  |
|----------------|
| Red    | small |
|----------------|
Run Code Online (Sandbox Code Playgroud)

请帮忙

小智 13

我会回答这个标题,因为我注意到很多人都在寻找解决方案。

这里的关键是mv-expand运算符(将多值动态数组或属性包扩展为多条记录):

datatable (str:string)["aaa,bbb,ccc", "ddd,eee,fff"]
| project splitted=split(str, ',')
| mv-expand col1=splitted[0], col2=splitted[1], col3=splitted[2]
| project-away splitted
Run Code Online (Sandbox Code Playgroud)

Project-away运算符允许我们选择从输入中排除哪些列从输出中排除

结果:

+--------------------+
| col1 | col2 | col3 |
+--------------------+
| aaa  | bbb  | ccc  |
| ddd  | eee  | fff  |
+--------------------+
Run Code Online (Sandbox Code Playgroud)