在 Excel 工作簿中定义决策表(Oracle Policy Modeling-Define decision tables in Excel workbooks)...

本文主要是介绍在 Excel 工作簿中定义决策表(Oracle Policy Modeling-Define decision tables in Excel workbooks)...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

要在 Excel 中编写规则,您只需在表中编写规则,并使用 Oracle Policy Modeling 样式标识单元格中的信息类型,

以便这些规则可以编译并在 Oracle Determinations Engine 中使用。在文档中可以创建任意数量的规则工作表。

 

了解用于规则表的样式

打算在 Oracle Policy Modeling 中编译的 Excel 规则需要用随 Oracle Policy Modeling Excel 文档模板一起提供的样式标记。以下样式用于编写规则:

标题单元格为可选。同样,单元格顺序无关紧要,因为每种样式都具有唯一性 - 只要必要样式用于有效的单元格内容。

注意:

 a.无论工作表上的声明顺序是什么,处理顺序都是“全局实体”、“实体”,然后是任何属性。这可以保证属性出现在正确的实体中。

 b.要将单元格的格式定义为货币值,不要使用 Excel 格式工具栏上的按钮 - 而是转至格式 | 单元格并在数字选项卡上选择货币

 c.在 Microsoft Excel 中处理数字、货币、日期和时间时,计算机的区域设置与规则库项目的区域应一致。这是因

    为 Microsoft Excel 使用区域设置中的模板定义数据类型的格式。

如果您使用文本属性,该文本属性的值可以放在引号内,也可以不放在引号内,处理方法都相同。如果要在规则表中使用文本

函数,需要用圆括号将函数文本括起来。

 

在 Excel 中创建规则表

当您向项目中添加 Excel 文档时,此文档的规则表工作表将包含如下所示的规则模板:

要在 Excel 中编写包含单个条件和单个结论的简单规则,请执行以下步骤。在此示例中,我们将根据人员的国籍推

断出其是哪国人。注:变量属性应先在属性文件中声明才能在 Excel 中使用。(在规则中使用布尔值属性之前不必

声明这些属性。)在此示例中,文本变量“国籍”和“哪国人”已经在项目的属性文件中声明。

 a.将第二列中的文本条件替换为“国籍”。此单元格已采用正确的条件标题样式。因为我们将只有一组条件,所以您可以删除第一个条件列。

 b.将文本结论替换为“哪国人”。此单元格已采用正确的结论标题样式。因为我们将只有一组结论,所以您可以删除另一个结论列。

 c.在“国籍”单元格下面的单元格中键入“美国”。使用 Tab 键转至下一个单元格(“哪国人”单元格下面的单元格)并键入“美国人”。

    这些单元格已经采用正确的样式:分别为条件结论。删除随后两行,因为这些行不会用到。

   1.在下面的行中,输入另一个条件“苏格兰”,关联的结论为“苏格兰人”。按照此方法处理下一行,条件为“日本”,结论为“日本人”。

   2.在否则条件旁边的单元格中键入“不确定”。此操作将应用替代结论“不确定”。

规则表应如下所示:

当编译规则时,在 Excel 中编写的决策表将由 Oracle Policy Modeling 转换成内部生成的规

则表。上述表将在 Oracle Policy Modeling 中创建以下规则 (xgen)。(要查看此规则,可

以在 OPM 的项目资源管理器中用右键单击规则文档,然后选择打开规则浏览器。)

 

为同一组条件证明多个属性

在 Excel 中仅使用一个表,就可以为同一组条件证明多个属性(与在 Word 中需要多个规则表不同)。

假设已声明以下变量,文本变量“国籍”、“哪国人”和“国家/地区的货币”,可以编写以下规则表:

 

使用多个条件证明同一组结论

您可以在 Excel 中为特定结论指定多个条件,在合适的情况下合并结论单元格以影响规则的求值方式。

例如,您可能要为成人和儿童的不同组合确定合适的门票类型。如果有如下变量:

可以编写以下规则表:

在 Oracle Policy Modeling 中为此表生成的规则如下所示:

如果我们不想测试结论单元格的属性值,则可以将条件单元格留空。在我们的示例中,我们可以

决定,两个成人带有儿童时可以购买“家庭”门票进入,三个大人无论是否带有儿童,都可以购买“家庭”门票。

这样可以简化逻辑,生成如下规则:

如果有多个条件行证明同一结论,我们还可以合并结论值的单元格。

这样可以简化 Excel 规则表的外观,强调为门票推断的值在多个可能方案中相同。但是,Oracle Policy Modeling 解

释规则逻辑的方式也会随之改变。根据 Excel 规则表生成的内部规则表对于每个 Excel 结论单元格包括一行。

这意味着,生成的规则表中并非存在两行来证明同一结论值(按从上到下的顺序求值),而是只存在一行来证明

结论值,同时具有多个可按任何顺序求值的选项。规则需要考虑到有些条件值为未知时这很有用。

提示:要查看使用合并条件和结论单元格的完整规则库的示例,请打开并运行保险欺诈得分示例规

则库项目,此项目位于 Oracle Policy Modeling 安装文件夹中的“示例”文件夹下。

 

允许规则条件按任何顺序求值和处理缺少值

Oracle Policy Modeling 根据 Excel 中的决策表生成的内部规则表从上到下逐行求值。如果表的第一行无法

求值(即如果有些条件值未知),即使表中后面的行因为其所有条件值完全已知而可以求值,规则表整体的

求值也不会超过第一行。
在某些情况下,这不是规则求值的最有用方式。如果通过多种方式证明一个结论,您可以在所有不同

条件行中合并单个结论单元格。然后,Oracle Policy Modeling 将允许任何这些条件行以任何顺序证明结论值。

例如,在下面的规则单元格中,我们希望两行中的任一行能够证明结论。

采用当前规则表布局时,在 Oracle Policy Modeling 生成的规则中,对于 Excel 规则中的每行

都有单独的行。因为规则表从上到下求值,所以这意味着,即使我们知道人员 16 岁并因此有权获

得青年福利金,规则表也在我们知道人员的职业后才能推断出结果并对第一行进行求值。

但是,如果我们合并包含适用于这两行的结论的单元格,则 Oracle Policy Modeling 生成的内部规则

会将这些行与单个规则表行中的“或者”条件合并,而不是上面生成的两个单独规则表行。

这个新结构允许按任何顺序对证明结论的条件进行求值,因此现在即使第一行的值未知,第二行也允许对规则进行求值。

 

编写决策应用于一系列数字或日期的比较类型规则

对于非文本条件,决策可能应用于一系列数字或日期,而不是特定数字或日期。

简单的例子就是将特定日期范围的应纳税所得额映射至税率:

您可能还要对一个属性进行多种比较,举例如下:

 

根据规则表的应用起始日期拆分规则表

表可以拆分在同一文件的多个表上,以考虑从特定日期开始应用的定期表更新。为此,

可插入主表对各表区分优先次序。通过引用在表的选项卡中指定的表名称来区分优先次序。

例如,您可能具有:

这些表的逻辑将在编译时合并,因此不会导致多重证明属性。主表使用标准规则条件和结论样式,

但有一个标题为“应用表”的结论列采用结论标题样式。因此请注意,文本“应用表”不能用作

标准规则表中的列标题。

在此示例中,您有三个包含以下规则表的其他工作表。请注意,必须根据“应用表”列中提

供的名称给工作表加标题(区分大小写)。

将在 Oracle Policy Modeling 中创建以下规则:

提示:要查看使用“应用表”来对随时间变化的属性进行推理的完整规则库的示例,请打开

并运行保险欺诈得分示例规则库项目,此项目位于 Oracle Policy Modeling 安装文件夹中的“示例”文件夹下。

 

在 Excel 规则表中使用实体属性

您可以证明 Excel 规则表中的实体层属性,但是,表中的所有结论属性都必须在同一实体中。规则

表中的条件属性可以与结论在同一实体中,或者可以引用结论实体的包含关系中的任何实体。

例如,以下规则表使用实体“孩子”和全局实体中的条件属性推断“宠物”实体中的结论属性,

实体“孩子”和全局实体都在其包含关系中,如下所示:

在具有多数实体函数的条件单元格中也可以使用实体层属性。例如,以下规则使用实例总数函数根据孩子拥有的宠物数量设置她的零用钱。

注:在 Excel 中不能这样使用的实体函数是那些处理多个实体的函数:范围满足条件、范围内所有都满足

       条件、范围内存在一个满足条件、是集合的成员、不是集合的成员、实例等于、实例不等于。

提示:要查看使用实体层属性、函数和基于实体实例的计算的完整规则库的示例,请打开并运行保

        险欺诈得分示例规则库项目,此项目位于 Oracle Policy Modeling 安装文件夹中的“示例”文件夹下。

 

在 Excel 规则中证明文本属性

在 Excel 规则中证明文本属性时,您需要用括号将属性文本括起来,以便编译程序将其识别为属性。

例如,如果您有以下声明:

在规则表中推断出文本属性的文本时,您将需要用括号将其括起来。例如:

如果未在规则中的这些文本属性前后加上括号,这些属性将无法识别,生成的规则将推断出字面字符串。

在推断文本属性的特定值时,不必将其用括号括起来(请注意,您可以将该文本属性的值放在引号内,也可以不放在引号内,处理方法都相同)。

 

========================================================

More reading,and english is important.

I'm Hongten

 

大哥哥大姐姐,觉得有用打赏点哦!多多少少没关系,一分也是对我的支持和鼓励。谢谢。
Hongten博客排名在100名以内。粉丝过千。
Hongten出品,必是精品。

E | hongtenzone@foxmail.com  B | http://www.cnblogs.com/hongten

========================================================

转载于:https://www.cnblogs.com/hongten/p/hongten_oracle_policy_modeling.html

这篇关于在 Excel 工作簿中定义决策表(Oracle Policy Modeling-Define decision tables in Excel workbooks)...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/315208

相关文章

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

工作常用指令与快捷键

Git提交代码 git fetch  git add .  git commit -m “desc”  git pull  git push Git查看当前分支 git symbolic-ref --short -q HEAD Git创建新的分支并切换 git checkout -b XXXXXXXXXXXXXX git push origin XXXXXXXXXXXXXX

嵌入式方向的毕业生,找工作很迷茫

一个应届硕士生的问题: 虽然我明白想成为技术大牛需要日积月累的磨练,但我总感觉自己学习方法或者哪些方面有问题,时间一天天过去,自己也每天不停学习,但总感觉自己没有想象中那样进步,总感觉找不到一个很清晰的学习规划……眼看 9 月份就要参加秋招了,我想毕业了去大城市磨练几年,涨涨见识,拓开眼界多学点东西。但是感觉自己的实力还是很不够,内心慌得不行,总怕浪费了这人生唯一的校招机会,当然我也明白,毕业

Oracle type (自定义类型的使用)

oracle - type   type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式, 如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型 格式 :create or repla

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

Oracle Start With关键字

Oracle Start With关键字 前言 旨在记录一些Oracle使用中遇到的各种各样的问题. 同时希望能帮到和我遇到同样问题的人. Start With (树查询) 问题描述: 在数据库中, 有一种比较常见得 设计模式, 层级结构 设计模式, 具体到 Oracle table中, 字段特点如下: ID, DSC, PID; 三个字段, 分别表示 当前标识的 ID(主键), DSC 当

oracle分页和mysql分页

mysql 分页 --查前5 数据select * from table_name limit 0,5 select * from table_name limit 5 --limit关键字的用法:LIMIT [offset,] rows--offset指定要返回的第一行的偏移量,rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。   oracle 分页 --查前1-9

husky 工具配置代码检查工作流:提交代码至仓库前做代码检查

提示:这篇博客以我前两篇博客作为先修知识,请大家先去看看我前两篇博客 博客指路:前端 ESlint 代码规范及修复代码规范错误-CSDN博客前端 Vue3 项目开发—— ESLint & prettier 配置代码风格-CSDN博客 husky 工具配置代码检查工作流的作用 在工作中,我们经常需要将写好的代码提交至代码仓库 但是由于程序员疏忽而将不规范的代码提交至仓库,显然是不合理的 所

C#关闭指定时间段的Excel进程的方法

private DateTime beforeTime;            //Excel启动之前时间          private DateTime afterTime;               //Excel启动之后时间          //举例          beforeTime = DateTime.Now;          Excel.Applicat

未来工作趋势:零工小程序在共享经济中的作用

经济在不断发展的同时,科技也在飞速发展。零工经济作为一种新兴的工作模式,正在全球范围内迅速崛起。特别是在中国,随着数字经济的蓬勃发展和共享经济模式的深入推广,零工小程序在促进就业、提升资源利用效率方面显示出了巨大的潜力和价值。 一、零工经济的定义及现状 零工经济是指通过临时性、自由职业或项目制的工作形式,利用互联网平台快速匹配供需双方的新型经济模式。这种模式打破了传统全职工作的界限,为劳动