替换DataStage / DB2中以逗号分隔的列表中的值

时间:2014-12-11 00:01:35

标签: db2 datastage

出现了新的报告要求,我不太确定解决问题的最佳方法。源系统中有一个字段 - 让我们调用“Fruit codes”字段。 Fruit codes字段包含以逗号分隔的水果列表。这些存储为半有意义的值Eg。

ID    -    Fruit codes 
100   -    APL, BAN, STRW 
101   -    ORNG 
102   -    BAN, STRW 

有一个表将这些半有意义的值映射到完整的字符串等效值。例如

Fruit code - Fruit name 
APL        -  Apple 
BAN        -  Banana 
STRW       -  Strawberry
ORNG       -  Orange 

我们希望能够显示以逗号分隔的全字符串等效项。预期的输出应如下所示:

ID    -    Fruit names 
100   -    Apple, Banana, Strawberry 
101   -    Orange 
102   -    Banana, Strawberry 

我们正在将DataStage 9.1与DB2 9.7一起使用。我希望我可以在DataStage中使用Ereplace function,但是我不确定这是否有效。可能的水果列表时不时变化,所以我希望它是动态的。我想知道是否需要循环遍历每个逗号分隔的水果列表,然后以某种方式使用映射表到Ereplace。也许我需要将逗号分隔的列表分成单独的行或列。

也许可以使用Pivot阶段,或LISTAGG DB2函数的相反(如果存在)。我对DataStage不太熟练,所以我有很多想法,但没有答案!

非常感谢你的帮助。

0 个答案:

没有答案