将新列添加到现有表Pentaho

时间:2019-05-18 07:47:53

标签: pentaho pentaho-spoon pentaho-data-integration

我有一个表格输入,我需要向其中添加计算,即添加一个新列。我尝试过:

  1. 进行计算,然后反馈。显然,它会将新数据粘贴到旧数据上。

  2. 进行计算,然后反馈但截断该表。当过程陷入某个时刻时,我假设发生的事情是我在删除表的同时仍在提取数据。

  3. 使用流查找,然后进行反馈。当然,它也将数据停留在现有数据的顶部。
  4. 要使用流查找,在该方法中,我从表输入中提取数据,进行计算,同时,从同一表中提取数据,并根据日期和id的唯一组合进行查找。并使用“更新”步骤。

由于它已经运行了一段时间,我很肯定这不是选项,但是我用尽了所有的选择。

3 个答案:

答案 0 :(得分:1)

似乎您需要使用此新字段更新数据来自的表。使用“更新”步骤,将字段A和B作为键。

答案 1 :(得分:0)

实际上,一旦连接了希望,第一步的结果就会自动结转到下一步。假设您有表格输入步骤,然后在要创建第三列的位置添加计算器。编写逻辑后,右键单击计算器步骤,然后单击预览,您将获得所有3列的结果

答案 2 :(得分:0)

我想说的是,您的问题不仅限于Pentaho实现,在Pentaho中实现数据分级之前,您可以做一些事情。

  1. 'Workin Hard'是正确的,当他说您不应该使用同一张表,而是保持输入不变时,只需将新值上载/插入到新表中,不必EVERYTIME新建一个表,但不要截断原始表,而是截断登台表(输出表)。

  2. 您需要多少个“新列”?此运行的每次迭代都会在输出中创建一个新列吗?还是您将始终具有始终为A + B或其他计算方式的“ C”列?抱歉,目前还不清楚。如果情况较晚,则不需要Pentaho进行转换,而使用考虑A + B的数学或函数来更新“ C”列,则可以在大多数关系DBMS中使用简单的UPDATE子句直接完成此操作。是的,可以在Pentaho中完成,但是您要付出很多开销和处理时间。