我想使用决策表实现基于流口水中较少和较大值的简单规则。
在drl中实现规则非常简单,例如:
rules "less than"
when Example(value < 10)
then
System.out.println("Less than 10")
end
rules "equals"
when Example(value = 10)
then
System.out.println("Equals 10")
end
rules "greater than"
when Example(value > 10)
then
System.out.println("Greater than 10")
end
但是我怎样才能把它翻译成流口水的决策表呢?到目前为止,我看到的所有例子都是在条件单元格中进行比较。甚至可以在值单元格中进行比较吗?
我看到的所有示例的格式如下:
CONDITION | ACTION
Example |
value |
-----------------------------------|-------------------------------------
10 | System.out.println("equals to 10")
但这只适用于1条规则,执行以下操作完全有不同的含义:
CONDITION | CONDITION | CONDITION | ACTION
Example
value | value > $1 | value < $1 |
-----------+------------+------------+----------------
10 | 10 | 10 | ???
甚至可以执行以下操作吗?
CONDITION | ACTION
Example |
value |
-----------------------------------+----------------------------------------
10 | System.out.println("equals to 10")
> 10 | System.out.println("greater than 10")
< 10 | System.out.println("less than 10")
实施这些规则的正确方式是什么?
你可以看看这个
http://s11.postimage.org/oya6zxr83/Screenshot.png
这里,我们从用户那里获取用户位置和计数,并检查计数是否小于每个城市的初始计数,如果条件满足,循环将一直运行到循环条件。
希望这会有帮助。
可以将条件的一部分作为值给出。在标题中,您可以给出“value$参数”来评估。(顺便说一句,要能够输入==10等值,您必须将单元格格式更改为Excel中的Text)
CONDITION | ACTION
Example |
value $param |
-----------------------------------+----------------------------------------
== 10 | System.out.println("equals to 10")
in (10, 11) | System.out.println("is 10 or 11")
> 10 | System.out.println("greater than 10")
< 10 | System.out.println("less than 10")
我发现我可以通过在约束字段单元格中放入$参数并在值单元格中放入整个约束来实现我需要的。所以决策表如下所示:
CONDITION | ACTION
Example |
$param | System.out.println("$param");
-------------------------------+-----------------------------------
value == 10 | equals to 10
value > 10 | greater than 10
value < 10 | less than 10
在一个场景中,我们有一组主规则。其中一条规则类似于以下规则: 这些规则将向客户提供。我们希望我们的客户能够定制规则。若决定不定制,则应适用规则。自定义可以在“何时”中添加其他条件,也可以覆盖现有条件,还可以添加或修改“何时”部分。他们还可以添加到规则的“then”部分。 像这样的东西: 我们还有一些需要类似定制的决策表。 根据规则,最初建议使用“extends”,但据我所知,“extends”的作
因此,如果输入条件是TRUEFALSEFALSETRUEFALSE,那么有没有什么方法可以同时触发第一个规则和第二个规则,并在列表中返回结果,在本例中,第一个操作是APPROVERTWO和APPROVERFOUR。
我正在使用KIE IDE 7.11.0。最终的我使用Drools决策表已经很长时间了。但我还没有看到任何文件显示如何实现这一点。例如,当我需要变量,性别和年龄时,根据这两个事实,我得到一个类型。实现这一目标的旧方法如下: 然而他们是另一种简单的方法 横轴是年龄,纵轴是性别。两个变量都给出了类型值。但是我发现我不能在Drools中做这样的决策表。 我能流口水吗?
问题:我在决策表(电子表格)中有三个规则表,前两个规则表的规则定义了从第三个规则表中触发哪个规则。在第一个规则表中,根据某些条件,我更新了事实,该事实用于从第二个规则表中触发规则。在第二个规则表的ACTION列中,我更新了事实,我想根据这个更新的事实在第三个规则表中触发规则,但由于更新的事实,第一个表中的规则再次触发,然后第二个,循环继续。 每当我添加规则流组时,我都找不到在规则表中添加规则流组的
我很难找到一条我知道有效的规则。drl表单,用于在决策表中工作。 这是我的drl形式的规则: 以下是我在电子表格中尝试的内容: 当我尝试从电子表格中运行规则时,我遇到以下错误: from子句似乎有问题,但我不知道为什么。我尝试了无数次谷歌搜索,这是我唯一能找到的:http://drools-moved.46999.n3.nabble.com/Question-on-excel-decision-t
有人能帮我调试Drools中的决策表吗。对于我们的项目,我们正在创建一个包含1000多条规则的决策表。每当他们在规则中出现错误时,谁的电子表格不工作,也不显示准确的错误在哪里。