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

如何在Azure Data Factory中通过派生列按日期月份生成自定义值?

在Azure Data Factory中通过派生列实现月份对应数值的需求

完全可以通过派生列结合条件语句实现这个需求,ADF的派生列活动支持case或嵌套iif函数来处理多分支的月份-数值映射,以下是具体实现方法:

核心实现逻辑

  1. 提取月份:使用month()函数从日期列中提取1-12的月份数字(比如6月返回6,2月返回2)。
  2. 多分支映射:通过条件函数将不同月份映射到目标数值,推荐用case函数处理多分支场景,比嵌套iif更简洁易读。

示例表达式

假设你的日期列名为date_column,需要给6月赋值10、2月赋值14,其他月份默认返回0,表达式如下:

case(
    month(date_column) == 6, 10,
    month(date_column) == 2, 14,
    // 可继续添加其他月份的映射规则,格式为:条件, 目标值,
    0 // 默认值,无匹配月份时返回
)

如果分支较少,也可以用嵌套iif:

iif(month(date_column) == 6, 10, iif(month(date_column) == 2, 14, 0))

配置步骤

  1. 打开ADF的派生列活动,点击添加新列,列名设为test。
  2. 在表达式输入框中粘贴上述表达式,替换date_column为你实际的日期列名称。
  3. 根据业务需求补充其他月份的映射规则,或调整默认值(比如需要返回null就写null())。

注意事项

  • 如果你的日期列是字符串类型,需要先转换为日期格式,比如:month(toDate(date_str_column, 'yyyy-MM-dd')),其中'yyyy-MM-dd'要和你的字符串日期格式匹配。
  • 确保month()函数的输入是有效的日期类型,否则会返回错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 11:37:33