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

如何在Azure Data Factory的Dataflow中格式化负值?

Azure Data Factory Dataflow 列格式转换实现方案

需求分析

原数据表采用扁平化命名(如Address_Line1、Contact_Phone),需要转换为嵌套对象结构(如Address对象包含Line1/Line2,Contact对象包含Phone/Email)。以下提供两种可行实现方法:


方法一:手动创建复合列(适合字段数量少的场景)

  • 添加派生列活动到数据流画布
  • 新建名为Address的列,类型选择复合:
    • 在复合列内添加子字段Line1,取值直接引用原字段Address_Line1
    • 添加子字段Line2,取值引用原字段Address_Line2
  • 重复上述步骤创建Contact复合列:
    • 子字段Phone引用原字段Contact_Phone
    • 子字段Email引用原字段Contact_Email
  • 添加选择活动,移除所有原扁平化字段,仅保留Address和Contact列

方法二:批量生成嵌套对象(适合字段数量多的场景)

利用Dataflow内置函数批量筛选、转换字段,无需手动逐个配置:

  1. 添加派生列活动,创建Address列,使用以下表达式:
    map(
        filter(columns(), startsWith(name(col), 'Address_')),
        (currentCol) => {
            key: split(name(currentCol), '_')[1],
            value: currentCol
        }
    )
    
    逻辑说明:筛选所有以Address_开头的字段,拆分字段名获取后缀(如Line1),将其作为嵌套对象的键,字段值作为对应值,最终组合为复合对象。
  2. 同理创建Contact列,替换前缀即可:
    map(
        filter(columns(), startsWith(name(col), 'Contact_')),
        (currentCol) => {
            key: split(name(currentCol), '_')[1],
            value: currentCol
        }
    )
    
  3. 添加选择活动清理原扁平化字段,保留转换后的复合列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 17:25:14