- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想利用 DMN 来创建计算,但每个国家/地区的每个类别的规则都不同,因此美国和类别 1 的规则将与美国和类别 2 的规则不同,加拿大的规则也不同和类别 1。
我不想为国家/地区类别添加列并将其全部保留在同一个表中,因为这将形成一个 super 大的表,并且每个表都将由一组不同的用户维护,这样会更容易保留如果可能的话,将其分开。
有没有办法用 DMN 对此进行建模?
我知道 BPMN 可以用来决定调用哪个表,但很好奇 DMN 是否可以单独处理这种情况。
提前致谢
最佳答案
I know BPMN could be use to make this decision on which table to call but was curious if DMN alone would handle this case.
在您的案例中,最合适的方法指南确实是结合 BPMN 的力量来协调要评估的决策服务 (DMN)。
在此前提下,单独使用 DMN 可能有两种替代选择。
您可以为每个 DMN 模型文件定义一个决策服务,每个模型都针对国家/地区特定性进行建模。然后,在“主管”DMN 模型中,您可以评估导入 DMN 模型的所有国家/地区的适当决策服务。
优点:
缺点:
示例:
此示例实际上显示了选择哪个决策,即:评估所有变体,然后仅选择所需的一个。
但是您绝对可以重构模型,仅调用您想要的导入决策服务(例如:s.Standard card ds()
或 g.Gold卡 ds()
)。
我想展示这个示例,因为它比您的用例更广泛,但正如前面提到的,您可以让它更简单。
您可以使用非 DMN 标准 invoke()
函数从给定的 DMN 模型动态调用所需的 DMN 模型,前提是所调用的 DMN 模型可由特定平台 API 解析 -即:在 Drools 上是同一个 KieContainer
的一部分,在 Kogito 上是同一个 Kogito 应用程序的一部分。
优点:
缺点:
invoke()
函数是 Drools 扩展内置函数,不属于 DMN 规范的一部分。示例:
在此示例中,国家/地区用于查找模型的名称,该模型包含我们要调用以评估购买年龄的决策表;然后扩展的内置函数用于调用所需的模型,传递所需的输入:
第二个屏幕截图从左到右显示:特定于国家/地区的 DMN 模型的示例、执行调用的“主管”DMN 模型、针对几个选定国家/地区运行该模型并显示购买情况的场景测试示例年龄是所要求的。
我相信这是利用平台集成方面(例如 invoke()
函数)真正有意义的极少数情况之一,因为导入不同的 249 个模型是很幼稚的。 ISO 国家变体..
关于drools - 每个条件的 DMN 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68832897/
我在我的应用程序中使用 camunda DMN(在 Angular、Java、Spring 中)。 我想在向 DMN 表添加新规则时验证规则是否不重叠。 例如以下是我的 DMN 表, | x| y |
我想利用 DMN 来创建计算,但每个国家/地区的每个类别的规则都不同,因此美国和类别 1 的规则将与美国和类别 2 的规则不同,加拿大的规则也不同和类别 1。 我不想为国家/地区类别添加列并将其全部保
Drools 现在拥有对 DMN(决策模型和表示法)的完整运行时支持。 DMN 文件现在是一种 Assets ,可以添加到任何 kjar 中执行。 我的想法是 Drools 规则是非标准/专有的,如
我想利用 DMN 来创建计算,但每个国家/地区的每个类别的规则都不同,因此美国和类别 1 的规则将与美国和类别 2 的规则不同,加拿大的规则也不同和类别 1。 我不想为国家/地区类别添加列并将其全部保
我搜索了 Camunda DMN API但找不到可以验证 input expression 的 API . Here是 DMN inputs 支持表达式的文档 考虑以下示例,如果有一个带有 integ
我希望将 DMN 行的两个输出值发送到 BPMN 上下文,例如 DMN.output.var1=val1, DMN.output.var2=val2。 输入:(SPACE=LAW,THING=VAND
我想在 Drools 7.21 中评估 DMN 1.2 中新增的 FEEL 函数,例如 sqrt() 或 modulo(),但是该方法 dmnRuntime.evaluateAll(dmnModel,
我有一个项目在spring(backEnd), angularjs(frontEnd) 我想使用 dmn modeler在我创建 decision table 的项目中,创建的决策表(是一个 xml
我是一名优秀的程序员,十分优秀!