如何在Azure Data Explorer中连接两数组列对应元素生成新数组列?
Azure Data Explorer 数组元素按索引拼接解决方案
可以通过zip()结合mv-expand、strcat和make_array实现需求,具体查询如下:
datatable (Val:int, Arr1:dynamic, Arr2:dynamic) [ 1, dynamic(['A1', 'A2', 'A3']), dynamic(['C1', 'C2', 'C3']), 2, dynamic(['B1', 'B2']), dynamic(['D1', 'D2']) ] | extend Zipped = zip(Arr1, Arr2) | mv-expand Zipped to typeof(dynamic) | extend Concat = strcat(Zipped[0], "_", Zipped[1]) | summarize Out = make_array(Concat) by Val, Arr1, Arr2
步骤说明:
- 配对数组元素:用
zip(Arr1, Arr2)生成包含对应索引元素对的数组(如['A1','C1'])。 - 展开元素对:
mv-expand Zipped将数组中的每个元素对拆分为单独行,方便逐个处理。 - 拼接字符串:
strcat(Zipped[0], "_", Zipped[1])把每对元素用下划线连接成单个字符串。 - 重新聚合为数组:
summarize Out = make_array(Concat) by Val, Arr1, Arr2将拼接后的字符串按原始行分组,重新组合成目标数组。
执行上述查询后,输出结果与期望完全一致。
内容的提问来源于stack exchange,提问作者Deepak Yadav
相关产品推荐
相关产品推荐

