如何根据datastage中的分隔符从单个列中拆分数据?

How to split data from a single column based on the delimiter in datastage?

我想在 Datastage 中执行以下场景。

我有一个名为 source.csv 的源文件,如下所示,

Code_id

100

200

300

100,200,400

现在,我想根据分隔符(,) 拆分第4 行的记录。 预期结果应该是,

Code_id

100

200

300

100

200

400

我已经通过使用 DCOUNT、Field datastage 函数进行了尝试。但是我无法得到我上面提到的确切结果。

任何人都可以指导或提出一些想法来做到这一点吗?

注意:在处理文件之前我不知道分隔符的个数。

这是变压器循环处理的一个很好的例子。 首先使用 COUNT 函数计算分隔符(在您的情况下为逗号)的数量并加 1 来确定列中值的数量。 在您的示例中,您需要处理 2 个逗号和三个值 - 这也是您必须执行的循环次数。 在循环中使用 FIELD 函数提取转换器循环定义中的值 - 使用 @ITERATION(循环计数器)逐一提取值。 使用此解决方案,转换器将输出更多行然后消耗,这将为您提供解决方案。

详细信息和示例请参阅 here