Pentaho数据集成问题,根据某些条件加载水壶

问题描述 投票:0回答:1

我有一个Pentaho数据集成工作,它具有以下步骤:

生成行步骤,其具有初始日期(例如,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。非常感谢有关解决此问题的方法的任何指示。

pentaho kettle spoon
1个回答
0
投票

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

然后你可以用Filter Rows步骤比较两个字段,最大日期和今天。

由于上一步可能会给你多行,你需要使用Unique Row(没有字段提供)Group by(没有按字段分组)。

如果有任何行获得,那么您启动生成10年的过程。由于你不能从第二步Generate row中跳一步,你必须使用Transformation executor来启动你现有的转换。

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

© www.soinside.com 2019 - 2024. All rights reserved.