Pentaho DI:将公式流映射为值流.是否可以进行查找



我有一个来自DB表的流,其中包含规则(公式(,我希望将其映射到具有与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);

但是它不是很有效。有更好的方法吗?

您可以尝试使用修改的Javascript步骤并使用eval(规则(吗?

最新更新