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

Azure Data Factory数据流中如何按条件计算填充new price列?

解决ADF数据流派生列类型不匹配问题
  • 第一步:确认并转换price列的数据类型
    CSV文件导入ADF时,price列可能被默认识别为字符串类型,这是触发类型不匹配错误的核心原因。在数据流的源转换中查看投影面板:

    • 如果price列类型为string,先通过派生列或转换列将其转为数值类型,示例:
      toDouble(price)
      
      若需要更高精度,可使用:
      toDecimal(price, 10, 2)
      
    • 建议将转换后的列命名为price_num,避免与原列混淆。
  • 第二步:编写符合ADF语法的派生列表达式
    ADF数据流使用iif()函数而非Excel的if(),嵌套逻辑保持一致。基于转换后的数值列,正确表达式如下:

    iif(price_num > 1000, price_num * 1.3, iif(price_num < 100, price_num * 1.1, price_num * 1.2))
    

    若直接处理原字符串列(不提前转换),表达式需包含类型转换:

    iif(toDouble(price) > 1000, toDouble(price) * 1.3, iif(toDouble(price) < 100, toDouble(price) * 1.1, toDouble(price) * 1.2))
    
  • 第三步:处理异常值(可选)
    若price列存在空值或非数值内容,需先做判断避免报错,示例:

    iif(isNumeric(price), iif(toDouble(price) > 1000, toDouble(price)*1.3, iif(toDouble(price)<100, toDouble(price)*1.1, toDouble(price)*1.2)), null)
    
  • 第四步:匹配派生列的数据类型
    在派生列设置面板中,将new price列的数据类型设为double或decimal(与计算结果类型一致),避免因类型不匹配触发错误。

内容的提问来源于stack exchange,提问作者Michael Graber - NOAA Affiliat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 17:32:40