Pentaho DI:将公式流映射到值流。可以查询吗?

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

我有一个来自数据库表的流,其中包含一些规则(公式),我想将其映射到具有与Name列值相对应的数据的流。像这样说(规则只是虚拟的例子,不是问题的一部分):

Data:
---------------
Name    | Sales
---------------
Food    | 1000
Alkohol | 1000
Gas     | 1000

Rules:
---------------
Name    | Rule
---------------
Food    | [if Sales > 100 then 0.5 else 0.7]
Alkohol | [if Sales > 25 then 1 else 2]
Gas     | [if Sales > 500 then 0.7 else 0.5]

是否存在可能的流程,允许使用“名称”列查找规则,然后将匹配的规则应用于行?

目前,我有一个用户定义的Java类,它为数据的每一行遍历规则数组,并应用匹配的规则作为公式:

        Formula formula = new Formula(rules[i]);
        context.setRowData(row);
        formula.initialize(context);

...但是效率不是很高。有更好的方法吗?

formula pentaho lookup pentaho-data-integration pdi
1个回答
0
投票

您可以尝试使用Modified Javascript步骤并使用eval(Rule)吗?

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