Pentaho Kettle - 如何更新水壶中已排序行的空值

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

我尝试通过水壶将数据从表1转换为表2。情况是,在表1中,数据显示如下:

  c1       c2
  -------  ----------  
  A        1     
  A        null
  A        null
  B        2
  B        null
  B        null

我希望步骤将第1列中的值分组为A,B ......,并替换第2列中的空值。因此输出将如下所示:

c1       c2
-------  ----------  
A        1     
A        1
A        1
B        2
B        2
B        2

我已经尝试使用名为Database lookup的步骤替换所有空值,但显然它不能先在第1列中对值进行分组,然后根据第2列进行替换。

我知道使用sql脚本可以完成这项工作,但是勺子中的一些步骤也能做到吗?任何帮助/建议将非常感谢。

pentaho kettle pentaho-data-integration
1个回答
0
投票

一些输入步骤具有“重复”功能,但是没有任何步骤可以使用此功能准备好工作流程,所以我使用这个javascript代码来执行此操作。

var row, last_row;

if (row != null) {
    //Save the data of the current row.
    last_row = row;

}else {
    //swap null value with last non-null value.
    row = last_row;

}

您只需要为要重复的所需列更改名称“行”。在您的示例中,它将是c2和last_c2。

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