1

我在 kusto 表中有两列,第二列有逗号分隔的值,我需要将这些值投影为单独的列。第二列中的逗号分隔值,每个环境的变化,它不能被硬编码。

输入:

key    val
key1   val1,val2,val3,val4
key2   val8,val2,val9,val4
key3   val8,val1,val9,val5

输出:

keyhdr valhdr1 valhdr2 valhdr3 valhdr4    
key1   val1    val2    val3    val4
key2   val8    val2    val9    val4
key3   val8    val1    val9    val5
4

1 回答 1

1

您可以首先使用 split 函数从表格表达式创建一个数组,然后您可以使用数组索引将其扩展为列。请注意,如果在索引中找不到任何值,它将用空字符串填充。这将为您提供所需的输出:

datatable(key:string, val:string)
[
   "key1","val1,val2,val3,val4",
   "key2", "val8,val2,val9,val4",
   "key3",  "val8,val1,val9,val5"
]
| extend all=split(val,',')
| extend valhdr1  = all[0]
| extend valhdr2  = all[1]
| extend valhdr3  = all[2]
| extend valhdr4  = all[3]
| project key,valhdr1,valhdr2,valhdr3,valhdr4
于 2018-10-16T12:32:10.703 回答