在 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

相关文章

C#实现将XML数据自动化地写入Excel文件

《C#实现将XML数据自动化地写入Excel文件》在现代企业级应用中,数据处理与报表生成是核心环节,本文将深入探讨如何利用C#和一款优秀的库,将XML数据自动化地写入Excel文件,有需要的小伙伴可以... 目录理解XML数据结构与Excel的对应关系引入高效工具:使用Spire.XLS for .NETC

C#如何在Excel文档中获取分页信息

《C#如何在Excel文档中获取分页信息》在日常工作中,我们经常需要处理大量的Excel数据,本文将深入探讨如何利用Spire.XLSfor.NET,高效准确地获取Excel文档中的分页信息,包括水平... 目录理解Excel中的分页机制借助 Spire.XLS for .NET 获取分页信息为什么选择 S

Java利用Spire.XLS for Java自动化设置Excel的文档属性

《Java利用Spire.XLSforJava自动化设置Excel的文档属性》一个专业的Excel文件,其文档属性往往能大大提升文件的可管理性和可检索性,下面我们就来看看Java如何使用Spire... 目录Spire.XLS for Java 库介绍与安装Java 设置内置的 Excel 文档属性Java

C#借助Spire.XLS for .NET实现在Excel中添加文档属性

《C#借助Spire.XLSfor.NET实现在Excel中添加文档属性》在日常的数据处理和项目管理中,Excel文档扮演着举足轻重的角色,本文将深入探讨如何在C#中借助强大的第三方库Spire.... 目录为什么需要程序化添加Excel文档属性使用Spire.XLS for .NET库实现文档属性管理Sp

C#实现将Excel工作表拆分为多个窗格

《C#实现将Excel工作表拆分为多个窗格》在日常工作中,我们经常需要处理包含大量数据的Excel文件,本文将深入探讨如何在C#中利用强大的Spire.XLSfor.NET自动化实现Excel工作表的... 目录为什么需要拆分 Excel 窗格借助 Spire.XLS for .NET 实现冻结窗格(Fro

使用Python实现高效复制Excel行列与单元格

《使用Python实现高效复制Excel行列与单元格》在日常办公自动化或数据处理场景中,复制Excel中的单元格、行、列是高频需求,下面我们就来看看如何使用FreeSpire.XLSforPython... 目录一、环境准备:安装Free Spire.XLS for python二、核心实战:复制 Exce

pandas批量拆分与合并Excel文件的实现示例

《pandas批量拆分与合并Excel文件的实现示例》本文介绍了Pandas中基于整数位置的iloc和基于标签的loc方法进行数据索引和切片的操作,并将大Excel文件拆分合并,具有一定的参考价值,感... 目录一、Pandas 进行索引和切编程片的iloc、loc方法二、Pandas批量拆分与合并Exce

使用C#导出Excel数据并保存多种格式的完整示例

《使用C#导出Excel数据并保存多种格式的完整示例》在现代企业信息化管理中,Excel已经成为最常用的数据存储和分析工具,从员工信息表、销售数据报表到财务分析表,几乎所有部门都离不开Excel,本文... 目录引言1. 安装 Spire.XLS2. 创建工作簿和填充数据3. 保存为不同格式4. 效果展示5

Java轻松实现在Excel中插入、提取或删除文本框

《Java轻松实现在Excel中插入、提取或删除文本框》在日常的Java开发中,我们经常需要与Excel文件打交道,当涉及到Excel中的文本框时,许多开发者可能会感到棘手,下面我们就来看看如何使用J... 目录Java操作Excel文本框的实战指南1. 插入Excel文本框2. 提取Excel文本框内容3

C#借助Spire.XLS for .NET实现Excel工作表自动化样式设置

《C#借助Spire.XLSfor.NET实现Excel工作表自动化样式设置》作为C#开发者,我们经常需要处理Excel文件,本文将深入探讨如何利用C#代码,借助强大的Spire.XLSfor.N... 目录为什么需要自动化工作表样式使用 Spire.XLS for .NET 实现工作表整体样式设置样式配置