【问题标题】:Pentaho Data Integration Generating Dynamic RowPentaho 数据集成生成动态行
【发布时间】:2016-01-11 16:30:42
【问题描述】:

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

代理、子代理、商户、总计 1、2、2222、10 2、2、2343、4 1、3、1212、1

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

代理、子代理、商户、总计 1, 1, 空, 0

我不太确定如何将这一行生成为自己的行。我尝试了几种使用过滤行和创建常量的方法,但所有尝试要么覆盖了所有不匹配的现有条目并将它们更改为子代理 1,要么创建了代理_1、子代理_1、商家_1 和总计_1 字段。

【问题讨论】:

  • 对我来说,这看起来像是一般的数据质量问题。运行更新语句来处理它不是最好的吗?您可以在使用表格输入步骤之前执行此操作。
  • 实际上,这与报告的类型有关,而不是数据本身。解释起来太复杂(而且冗长),但总而言之,子代理可以赚取代理的钱,而代理也可以自己赚钱。因此,从这个意义上说,代理可以是他自己的子代理。但是,如果代理人在某个月内没有挣到钱,我们仍然需要代理人和自己作为子代理人的代理人/子代理人关系。

标签: pentaho kettle pentaho-spoon


【解决方案1】:

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

这是我的输出:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多