首页 > 解决方案 > 在 Azure 数据工厂数据流中替换超过值

问题描述

我想在数据工厂数据流中使用表达式语言替换一列中的一些值。我尝试在派生列中组合多个替换语句和 if 条件,但它不起作用。

例如:

case

when column = ’SA’ then ‘SB’

when column = ‘PA’ then ‘PO’

when column = ‘KL’ then ‘KLL’

when column = ‘AAB’ then ‘A’

when column = ‘WWE’ then ‘A’

else ‘n’

end

有人知道如何处理吗?我是数据工厂的新手,需要一些帮助。

标签: azureetldata-warehouseazure-data-factoryazure-data-factory-2

解决方案


这是因为你的表达是错误的。

关于如何构建正确的表达式,请参考:

  1. 映射数据流表达式生成器
  2. 映射数据流中的数据转换表达式

例如,ename在 Visual Expression Builder 中使用此表达式将我的 columne 替换为 'zzz':

case(ename=='aaa','zzz',ename)

在此处输入图像描述

另一个测试,添加更多条件: 在此处输入图像描述

所以你的表达应该是这样的:

case(column=='SA','SB',
     column=='PA','PO',
     column== 'KL','KLL',
     column== 'AAB','A',
     column== 'WWE','A',
     'n'
    )

希望这可以帮助。


推荐阅读