Pentaho数据集成生成动态行

时间:2015-12-28 17:34:23

标签: pentaho kettle pentaho-spoon

我有一个案例,我通过表输入步骤读取数据。读入的值为:

agent, sub agent, merchant, total
1,      2,         2222,     10
2,      2,         2343,      4
1,      3,         1212,      1

我想要完成的是检查是否存在代理与子代理没有相同值的实例。因此,如果代理1没有子代理1,那么我需要创建一个行:

agent, sub agent, merchant, total
1,        1,        null,    0

我不确定如何将此单行生成为自己的行。我尝试了几种使用过滤器行和创建常量的方法,但所有尝试都覆盖了所有不匹配的现有条目,并将它们更改为子代理1或创建了agent_1,sub agent_1,merchant_1和total_1字段。

2 个答案:

答案 0 :(得分:0)

如果您将流复制为三个,请执行stream lookup并检查是否存在具有相同代理和子代理的行,以及是否不添加不存在的行。

这是我的输出:

agent   sub merchant    total
1   2    2222    10
2   2    2343    4
1   3    1212    1
1   1   <null>   0

Picture of transformation

答案 1 :(得分:0)

我认为这个解决方案更容易。可能需要更正sql查询(我使用postgres) enter image description here