0

我正在使用 Pentaho 4.4.1-GA (Kettle / PDI)。数据库是 Postgres。

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

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

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

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

有任何想法吗?欢迎所有建议:)

谢谢你,

拉克什

4

1 回答 1

0

您能否为您的场景提供示例输入和输出?

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

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

于 2015-03-10T18:51:15.983 回答