5.4. 定义流量违反 DMN 决策逻辑
要计算细调并决定是否要暂停驱动程序,您可以使用 DMN 决策表和上下文框的表达式定义流量违反 DMN 决策逻辑。
图 5.8. 精细表达式
图 5.9. 应暂停驱动程序的表达式
先决条件
- 您已将 DMN 自定义数据类型分配给 Business Central 中流量违反 DRD 中的相应决定和输入节点。
流程
要计算此情况,请在 DMN 设计器 canvas 中选择 Fine 决策节点,然后点击 Edit 图标打开 DMN 框的表达式设计程序。
图 5.10. 决策节点编辑图标
点 Select expression
Decision Table。 图 5.11. 选择 Decisiong Table 逻辑类型
- 对于 Violation.Date、Violation.Code 和 Violation.Speed Limit 列,请右键为每个字段选择 Delete。
-
点 Violation.Actual Speed 列标题,然后在 Expression 字段中输入表达式
Violation.Actual Speed - Violation.Speed Limit
"。 在决策表的第一行中输入以下值:
-
violation.Type:
"speed"
-
violation.Actual Speed - Violation.Speed Limit:
[10..30)
-
计数 :
500
点 :
3
右键单击第一行,再选择
Insert 以
添加另一个行。
-
violation.Type:
在决策表的第二行中输入以下值:
-
violation.Type:
"speed"
-
violation.Actual Speed - Violation.Speed Limit : &
gt;= 30
-
数量:
1000
点:
7
右击第二行,再选择
Insert 以
添加另一个行。
-
violation.Type:
在决策表的第三个行中输入以下值:
-
violation.Type:
"parking"
-
violation.Actual Speed - Violation.Speed Limit:
-
-
数量
:100
点:
1
右击第三行并选择
下面的 Insert
以添加另一个行。
-
violation.Type:
在决策表的第四个行中输入以下值:
-
violation.Type
: "指定影响"
-
violation.Actual Speed - Violation.Speed Limit:
-
-
数量:
1000
-
点 :
5
-
violation.Type
- 点击 Save。
- 要定义驱动程序挂起规则,返回 DMN 设计器 canvas,选择 应暂停驱动程序? 决策节点,并点击 Edit 图标打开 DMN 框式表达式设计程序。
-
点 Select expression
Context。 -
点 ContextEntry-1,输入
Total Points
作为 Name,然后从 Data Type 下拉菜单中选择数字
。 -
单击 Total Points 旁边的单元,从上下文菜单中选择
Literal 表达式
,并输入Driver.Points + Fine.Points
作为表达式。 -
在下面的单元格中,指出 + Fine.Points,从上下文菜单中选择
Literal Expression
,并输入if Total Points >= 20 then "Yes" other "No"
。 点击 Save。
您已定义了如何计算细和上下文,以决定何时挂起驱动程序。您可以导航到 traffic-violation 项目页面,再单击 Build 来构建 example 项目,并解决 Alerts 面板中提到的任何错误。