根据字段过滤行并在 filetred 结果集上创建 csvs

Filter rows based on a field and create csvs on the filetred result set

我有一个 table tb_rawcsvdata:列有 plant, employeenumber, term_dt.

我需要使用 pentaho 为每个独特的植物创建一个 csv 文件。

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

然后我创建 transformation2,如下所示:

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

虽然我能够为每个植物创建一个文件,但其中的数据只有植物列和一个数据,如下所示:

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

两件事:

  1. 使用 table 输入步骤而不是 Sql 脚本步骤。

使用相同的连接设置它并在其中放入相同的查询。您甚至不需要将植物字段作为参数,而是可以使用变量。

  1. 更简单的是,您不需要所有这些:只需一次转换。

运行 您在 table 输入步骤中的查询没有植物字段。

使用 javascript 步骤、计算器或类似工具根据田间植物的值创建文件名字段。

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

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

注意:文件名必须是绝对路径。如果不是,它将相对于 PDI 的安装文件夹。