在Azure数据工厂数据流中替换价值不止

时间:2019-09-04 19:13:45

标签: azure etl data-warehouse azure-data-factory azure-data-factory-2

我想使用Data Factory Data Flow中的表达式语言替换一列中的某些值。我尝试合并多个replace语句以及“派生列”中的条件,但没有用。

例如:

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

有人知道如何处理吗?我是Data Factory的新手,请寻求帮助。

2 个答案:

答案 0 :(得分:0)

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

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

  1. Mapping Data Flow Expression Builder
  2. Data transformation expressions in Mapping Data Flow

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

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

enter image description here

另一项测试,添加更多条件: enter image description here

所以您的表情应该像这样:

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

希望这会有所帮助。

答案 1 :(得分:-4)

这应该有效

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