我正在尝试为决策表模板建模。
为什么我理解像
这样的简单规则 (x>10 and y<10) print "red"
可以在决策表中表示,其中一行使用两列条件,一列用于操作。
+-----+-----+-------------+
| X | Y | Action |
+-----+-----+-------------+
| >10 | <10 | Print "red" |
+-----+-----+-------------+
条件如何
决策表中包含 ((x>10 and y<10) or x>1) or z<5 and y>5 print "red"
。
我假设上面的大条件表示在许多行中,其中不同的迷你条件的组合是真的。重复相同的动作部分。 有没有方法可以将这样的条件减少到决策表?
然而在这种情况下,该行动会被多行触发。我们只有一个动作。是否有任何分组列?
答案 0 :(得分:0)
一种方法是给出操作编号,并从决策表中引用它们。如果在评估运行期间触发了某个操作,则忽略后续触发。
以下是一个例子:
+-----+-----+-----+--------+
| X | Y | Z | Action |
+-----+-----+-----+--------+
| >10 | >10 | - | 1 |
+-----+-----+-----+--------+
| >10 | <10 | - | 2 |
+-----+-----+-----+--------+
| >50 | - | - | 2 |
+-----+-----+-----+--------+
| - | - | >5 | 2 |
+-----+-----+-----+--------+
操作号对应于此表中的操作:
+-----+--------------+
| # | Action |
+-----+--------------+
| 1 | Print "red" |
+-----+--------------+
| 2 | Print "blue" |
+-----+--------------+
如果因x>10 AND y<10
而触发了第2项操作,即使x>50
或z>5
也不会再次触发。