You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Data Flow:如何将数组列映射为多列?求最优实现方案

Azure Data Flow数组列转指定多列的最优实现

直接用派生列转换就能搞定,不需要额外的展开/聚合操作,性能高效且逻辑清晰,步骤如下:

  1. 添加派生列转换,针对每个目标列(title、name、surname)编写自定义表达式:

    • 生成title列的表达式:
      iif(length(find(你的数组列名, 'title:')) > 0, split(find(你的数组列名, 'title:'), ':')[1], '')
      
    • 生成name列的表达式:
      iif(length(find(你的数组列名, 'name:')) > 0, split(find(你的数组列名, 'name:'), ':')[1], '')
      
    • 生成surname列的表达式:
      iif(length(find(你的数组列名, 'surname:')) > 0, split(find(你的数组列名, 'surname:'), ':')[1], '')
      
  2. 把表达式里的你的数组列名替换成数据流中实际的数组列名称即可。

逻辑说明

  • find(数组列, 'key:'):从数组中找出包含指定键前缀的元素,找不到则返回空字符串
  • split(元素, ':')[1]:将找到的键值对按冒号分割,提取冒号后面的内容作为列值
  • iif(判断条件, 满足时返回值, 不满足时返回空):处理无对应键的情况,确保列值为空而非null

这种方法的优势是直接在单条记录维度处理,不会因为展开数组导致数据行数膨胀,处理效率远高于先展开再透视的方案。

内容的提问来源于stack exchange,提问作者DC07

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 05:30:47