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

Azure Data Factory中按语言优先级实现条件排序的需求

在Azure Data Factory数据流中按语言优先级筛选唯一ID记录

需求说明

给定包含id、language、name三列的数据集,同一id对应多行不同语言的名称记录,需按**German(最高)→ English → French → 其他语言(最低)**的优先级,为每个id仅保留优先级最高的一行记录。

示例输入

id, language, name
123, German,  Blume
123, English, Flower
123, Spanish, Flora
456, Netherlands, Hoos
456, Spanish, casa
456, English, House

示例输出

123, Blume
456, House

数据流实现步骤

  • 源数据集:连接目标输入数据源,确保正确读取id、language、name三列。
  • 派生列转换:新增lang_rank列,通过条件表达式将语言映射为优先级数值(数值越小优先级越高):
    iif(language == 'German', 1, 
        iif(language == 'English', 2, 
            iif(language == 'French', 3, 99)
        )
    )
    
    未指定的语言统一设为99(最低优先级)。
  • 窗口转换:按id分组,在每个分组内计算最小优先级值:
    • 分区键:选择id
    • 聚合列:添加min(lang_rank),命名为min_rank
  • 筛选转换:保留lang_rank == min_rank的行,此时每个id仅剩下优先级最高的记录。
  • 选择转换:移除lang_rank和min_rank列,只保留id和name列,得到最终结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 06:10:58