根据字段筛选行,并在filetred结果集上创建csvs

时间:2018-02-21 17:59:24

标签: pentaho pdi spoon

我有一个表tb_rawcsvdata:with column plant,employeenumber,term_dt。

我需要使用pentaho为每个独特工厂创建一个csv文件。

我所做的是创建一个转换,它获取独特的植物并放入结果集。 Transformation1

然后我创建如下所示的transformation2: enter image description here

在转换中,我尝试将植物作为参数传递,为每个识别的唯一植物获取一个结果集,并为每个植物创建一个csv文件(结果集)。

enter image description here

虽然我能够为每个工厂创建一个文件,但其中的数据只是工厂列,其中一个数据如下: enter image description here

我想要的是从sql查询中获取所有列并输出每个文件。

1 个答案:

答案 0 :(得分:1)

两件事:

  1. 使用表输入步骤而不是Sql脚本步骤。
  2. 使用相同的连接设置它并在其中放入相同的查询。您甚至不需要将工厂字段作为参数,而是可以使用变量。

    1. 更简单,你不需要所有这些:只需一个转换。
    2. 在没有工厂字段的表输入步骤中运行查询。

      使用类似的javascript步骤,计算器或somethig,根据字段工厂的值创建文件名字段。

      将其全部发送到单个文本文件输出并将其设置为接受文件名作为上一步骤中的字段。

      具有不同文件名值的行将写入不同的文件。

      警告:文件名必须是绝对路径。如果没有,它将与PDI的安装文件夹相关。