规则编译错误Drools action列,变量无法解析

时间:2015-08-13 16:11:00

标签: drools

我是Drools的新手,并且正在探索能力流氓决策表。我已经下载了Drools 6.2.0示例并修改了为决策表提供的示例。在那里我想要删除政策条件,如下图所示

Decision Table layout

此处策略只需要是结果对象,但我遇到错误。

  

text =规则编译错误策略无法解析或不是   字段

我不确定在第一个“行动”专栏下写什么来使其发挥作用,因为我尝试了不同的值,例如政策:政策,政策等。

以下是我为上述决策表布局收到的drl输出。

// rule values at C10, header at C5
rule "Pricing bracket_10"
    when
        Driver(age >= 18, age <= 24, locationRiskProfile == "LOW", priorClaims == "1")
    then
        policy.setBasePrice(450);
end

我曾尝试检查文档,但我无法找到任何方法使其正常工作。请注意,我没有在示例的源代码中修改任何内容。只更改excel中的决策表布局。

任何指针都会有所帮助。

1 个答案:

答案 0 :(得分:3)

您需要将类策略的对象绑定到变​​量策略。一种可能性是插入Policy对象,并使用它具有模式。 DRL中的规则应如下所示:

rule "Pricing bracket_10"
when
    Driver( age >= 18, age <= 24, locationRiskProfile == "LOW", priorClaims == "1")
    policy: Policy()
then
    policy.setBasePrice(450);
end

在决策表中,您可以使用条件列,如下所示:

CONDITION
policy: Policy()
/*$param*/
match a Policy fact
x

你需要一个&#39; x&#39;在每一行中,或加入单元格以使用单个&#39; x&#39;。