根据单个记录中的字段将多个记录插入事实表

时间:2015-03-05 03:21:19

标签: postgresql loops pentaho fact

我在Pentaho 4.4.1-GA(Kettle / PDI)工作。数据库是Postgres。

我需要能够根据来自单个记录的字段将多个记录插入到事实表中。单个记录包含字段:

productcode1, price1
productcode2, price2
productcode3, price3
...
productcode10,price10

因此,如果10个产品代码/价格中的每一个都有价值,那么我需要在事实表中插入总共10条记录。如果有4个组合的值,那么我需要在事实表中输入4个记录,等等。对于PK(由序列生成),产品代码和价格,事实记录的所有字段值与相同。

我认为我需要某种类型的循环结构,它可以让我检查每个productx字段是否存在值,如果是,则在事实表上使用所需的字段值执行插入/更新步骤。我只是不确定如何在Pentaho这样做。

有什么想法吗?欢迎所有建议:)

谢谢,

勒凯什

1 个答案:

答案 0 :(得分:0)

你能为你的场景提供一个示例输入和输出吗?

根据您的示例数据,我可以推断,如果有10种不同的产品代码,只有4种产品价格,您希望在表中插入4条记录。是这样吗?

一开始,您可以通过过滤NOT NULL为这些记录添加常量值1,然后使用Group BY Step计算1的数量。这会给你数数。顺便说一句,如果您可以提供有关要加载哪些列的更多详细信息,将会有所帮助,因为有多种方法可以多次执行PDI转换