代码之家  ›  专栏  ›  技术社区  ›  Vicky

基于某个条件加载釜的Pentaho数据集成问题

  •  0
  • Vicky  · 技术社区  · 7 年前

    生成具有初始日期(例如2010-01-01)且限制为10*366=3660行的行步骤,持续10年。

    下一步有一个递增器来递增天数。

    下一步使用此信息,即。初始日期、限制和增量,使用javascript函数为从2010-01-01开始的10年中的每一天生成日期。

    最后一步加载一个包含生成日期的表。

    这一切都很好。

    现在,我有一个要求,我不希望这个表是静态的,只有10年的日期。如果日期表中的最大日期是2年后的今天,我想在表中加载10年以上的日期。

    对于上面的例子,从2010年开始的10年内第一次装货日期,我应该能够在2018年再装货10年,在2028年再装货10年,以此类推。

    实现这一目标的最佳方法是什么?

    1) 从我的日期表中读取最大日期?-我知道怎么做。

    2) 使用读取日期与今天进行比较。如果最长日期是从今天起的2年内,我会在表中填充未来10年。

    我不知道如何在Pentaho数据集成中执行上面的2。非常感谢任何关于解决这个问题的建议。

    1 回复  |  直到 7 年前
        1
  •  0
  •   AlainD    7 年前

    您需要读取变量中的当前日期(今天)。例如使用 Get system info 步骤。

    然后您可以比较两个字段,max date和today Filter Rows

    由于上一步可能会给出多行,因此需要使用 Unique Row (无需提供字段)或 Group by

    如果有任何一行通过,那么你就启动你生成10年的过程。因为你不能从一步跳到这一秒 Generate row Transformation executor 启动当前现有的转换。

    enter image description here 现在,如果你的需求比这复杂一点,我强烈建议你使用 工作 来协调你的转变。

    推荐文章