http://scn.sap.com/community/developer-center/hana/blog/2013/01/11/what-can-you-do-with-decision-tables-in-sap-hana-sp05

利用SAP HANA,越来越多的计算和应用逻辑被放到数据库层,从而利用多核CPU的能力来更快的得到结果。但是在这样一个计算过程里,当一个应用想要做一个操作决 策,不论是应用层要拿回控制权来执行一些规则(BRFplus,NW BRM等等),还是这些规则被专家编写为SQL脚本/存储过程。

在第一种情况里,往返时间和ETL处理(把数据传送到规则引擎或者从规则引擎传出)花费了很多时间,这样你基于HANA的应用可能不会在你希望的亚秒级时间里应答你的动作,这对于大数据集来说更显而易见。

在第二种情况中,往返时间没有问题,但是规则不能被不懂SQL的人定义,比如一个业务用户。所以在建立规则的时候就会有潜在问题,这样就不够敏捷并且开销更多。所以,一个规则引擎宿主在SAP HANA中就非常必要。

决策表在SAP HANA SP05中提供,有了它,一名非技术用户可以用简单的语言定义操作决策/规则,他们懂得这些传输到SAP HANA的SQL存储过程中。

决策表让你为规则建模,根据来自不同SAP HANA的数据,如一个或更多HANA表、建模视图(比如属性视图,计算视图)、HANA表类型,确定的决策可以在相关表里更新,或者它也可以被返回到调用的应用程序中。要知道更多关于如何在SP05中创建决策表的信息,参考该PDF文档(142页)。

所有这些在博客中提到的,我想说的是决策表能做什么。

如果你读过上面的pdf文档,你应该意识到当你激活一个决策表,你定义的规则会被翻译成任何应用程序都可以调用的SQL存储过程。同样地,那些不更新数据集的决策表会生成一个基于列的视图。当你有规则编为存储过程和列视图,你可以变很多魔术;-)

1.应用可操作的业务规则——价格规则,信用决策,信用分数规则,报销,欺诈检测,数据清理规则,ETL规则,这张列表没完没了,我不会对此解释太多细节,因为这对于任何决策表来说是非常基础的需求。

3. 在其他存储过程中使用。由于决策表生成SQL存储过程,你可以从其他HANA SQL存储过程中使用它。

2. 在计算视图中使用。把决策表生成的列视图添加给计算视图,并且在开头部分添加你的逻辑。改变规则,激活,并刷新计算视图来模拟规则如何改变你的结果(然后适应最佳的规则)。

例子:这可以被用于模拟或者预计你的打折规则如何改变你的利润和利润率。

3. HANA分析中使用,并且得到最好的可能的决策,决定模式和趋势。

4. 你可以开发一款移动应用使用决策表生成的存储过程(通过jersey客户端或者HANA XS)。例如,理赔专员在客户现场可以查询理赔是否已经被批准了,或者还需要进一步的调查,这基于该客户历史保险理赔记录里的规律性/非规律性检查规则。

结论:

决策表是一种可用的SAP HANA,不仅可以在你的可操作规则中“传统地”使用它(来提高业务规则的敏捷性以及自动性),但是你也可以创建其他HANA组件(比如一个计算视图)或者一个移动应用来使用你的规则,从而浏览、模拟以及改编你的规则。

SAP HANA 中的决策表(Decision Table)的更多相关文章

  1. SAP HANA中的SLT简介

    在以SAP系统作为主要ERP的企业中,不同系统之间的数据库数据同步是个重要的工作.对于这种需求,除了开发ABAP接口之外,也有高效的工具可用.SLT就是其中之一. SLT是SAP的第一个ETL(Ext ...

  2. SAP HANA中创建计算视图(Calculation View)

    [Step By Step]SAP HANA中创建计算视图(Calculation View) Demo Instruction: 该视图将两个表AUDIOBOOKS和BOOKS中的数据进行连接,并作 ...

  3. 【HANA系列】SAP HANA中null变成问号的问题

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA中null变成问 ...

  4. SAP HANA中创建层次分析视图(Hierarchy Analytic View)

    1. 创建层次Attribute View: ATTR_PRODUCT_HIERACHY ref:  http://www.cnblogs.com/omygod/archive/2013/04/30/ ...

  5. SAP HANA中创建分析权限(Analytic Privilege)

    Demo Instruction: 假定CustomerID > 100的为VIP客户,我们的权限设置为只显示VIP客户 所使用的Attribute View: ATTR_CUSTOMER_FU ...

  6. 【HANA系列】SAP HANA计算视图中的RANK使用方法

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA计算视图中的RA ...

  7. SAP NOTE 1999997 - FAQ: SAP HANA Memory

    Symptom You have questions related to the SAP HANA memory. You experience a high memory utilization ...

  8. SAP HANA procudure 创建用户

    SAP HANA中的用户是没有功能进行直接的拷贝的,但是我们可以通过建立存储过程调用,通过sql语句的方式进行拷贝: 存储过程定义如下,各位可根据自己的需求进行修改: CREATE PROCEDURE ...

  9. SAP HANA studio 创建分析视图

    [Step By Step]SAP HANA中创建分析视图(Analytic View) 1. 在Modeler视图中点击新建Analytic View 2. 设置分析视图的属性 Name: 分析视图 ...

随机推荐

  1. ASP.NET Identity登录原理 - Claims-based认证和OWIN

    MVC5 - ASP.NET Identity登录原理 - Claims-based认证和OWIN 在Membership系列的最后一篇引入了ASP.NET Identity,看到大家对它还是挺感兴趣 ...

  2. 浅谈PHP在各系统平台下的换行符

    <?php echo 'aaa\n';//用于linux.unix平台C的换行也是如此 echo 'bbb\r';//用于mac平台 echo 'ccc\r\n';//用于windows平台 / ...

  3. 玩转python之每次处理一个字符

    在Python中字符就是长度为1的字符串,所以可以循环遍历一个字符串,依次访问每一个字符,得到你想要的处理前提: 一个列表是个好主意,就像这样:thelist = list(thestring) 当然 ...

  4. 类图class的依赖关系

    类图class的依赖关系 相关文章          [UML]UML系列——用例图Use Case       [UML]UML系列——用例图中的各种关系(include.extend)       ...

  5. 企业架构研究总结(30)——TOGAF架构内容框架之内容元模型(上)

    2. 内容元模型(Content Metamodel) 在TOGAF的眼中,企业架构是以一系列架构构建块为基础的,并将目录.矩阵和图形作为其具体展现方式.如果我们把这些表述方式看作为构建块的语法,那么 ...

  6. SharePoint RBS 安装(集成Office Web Apps)

    前言 本文完全原创,转载请说明出处,希望对大家有用. 本篇博客是个人总结,一方面以便日后查看,另一方面希望能为其他人提供一些便利. 阅读目录 安装RBS 为多个内容数据库开启RBS 正文 目的:在Sh ...

  7. Linux目录树详细说明

    Linux目录树详细说明 目录树的主要部分有root(/)./USR./var./home等等.下面是一个典型的linux目录结构如下: / 根目录 /bin 存放必要的命令 /boot 存放内核以及 ...

  8. Setting up Ubuntu in CoLinux–changing local/keyboard to be English

    Today i installed the CoLinux with Ubuntu package, but the default locale setting of the system is G ...

  9. mybatis配置Log4j带不出日志

    使用Mybatis的时候,有些时候能输出(主要是指sql,参数,结果)日志. 无法输出日志的时候,无论怎么配置log4j,不管是properties的还是xml的,都不起作用. log4j.prope ...

  10. 取SQL分组中的某几行数据

    取SQL分组中的某几行数据 对表中数据分组,有时只需要某列的聚合值:有时却需要返回整行数据,常用的方法有:子查询.ROW_NUMBER.APPLY,总体感觉还是ROW_NUMBER比较直观.测试数据: ...