后SAP时代

(1/3)SAP BPC企业绩效管理的最佳业务实践

一、SAP BPC的身世 1、CPM软件市场 Corporation Performance Market是一个从2005年以后,在软件行业内开辟出来的一个新的战场,集中在绩效管理软件领域,比如平衡计分卡、策略管理、风险管理...

详细信息

一、SAP BPC的身世

1、CPM软件市场

Corporation Performance Market是一个从2005年以后,在软件行业内开辟出来的一个新的战场,集中在绩效管理软件领域,比如平衡计分卡、策略管理、风险管理、财务预测、合并。这个领域软件定位的用户多半是企业CFO、财务方面人员和决策者。通常是利用BI(Business Intelligence)功能,提供决策支持。当然从reporting来看,这种类型的软件大多提供更加炫目的reporting功能,比如dash board。
 
CPM软件市场在最近的几年里发展十分迅猛,在Gartner的市场分析中,这个市场上,前五的厂商占据了全球70%的份额,但是商机依然很大。可以看出目前虽然在欧美市场已经蓬勃发展了,但是在中国,这个市场还不是很活跃。

 2、SAP BPC

BPC(Business Planning & Consolidation)的前身是Outlooksoft,SAP公司在2007年收购了这个公司。公司原先的产品BPC5.1在市场上还是享有不错的市场份额的。收购以后,SAP在保留原有MS OLAP平台的基础上,又开发了基于Netweaver BW平台的新产品,所以现在SAP BPC有两条产品线,基于不同的OLAP引擎架构。从功能上面看,NW版的BPC拥有绝大多数MS的功能,但是不是所有,比如在BPC7.0中,NW版没有Insight和BPF两个颇为主要的功能。

 从BPC7.5版开始,由于SAP收购了另一重量级BI厂商Business Objects,BPC引入了很多BO产品的整合,比如Voyager, Xcelsius.这也同时可以看出来SAP决心在这个软件市场行业,把自己的产品进行集中、整合。在下一代的EPM(Enterprise Performance Management)产品线上,设置一个以BPC为核心的大EPM平台。BPC目前在市场上,在售的NW版本有BPC7.0,BPC7.5预计会在六月底正式推向市场。这两个版本的客户已经过百,在中国也已经有了第一个吃螃蟹的公司。欧美市场上面的火爆,相信会在今年年底到明年传导至中国。加上 Microsoft已经明确表示将在企业级财务解决方案上,推荐SAP BPC为推荐使用方案,相信BPC的明天会美好的。

 相对于主要的竞争对手Hyperion,BPC主要位于Excel客户端的功能一定也会更加赢得传统财务用户的亲睐。不过对于实施而言,加大了不少二次开发的难度。通常BPC项目,都需要consultant去开发一定量的macro,还要用BPC自带的脚本语言(script logic),来书写业务逻辑。对于consolidation方面的功能,配置也实为不易。不过我想对于真正从事实施行业的consultant而言,这也就是自身价值体现的地方吧。

 二、 SAP BPC的OLAP引擎比较 (MS OLAP&BW OLAP)

 相对于SAP Netweaver的BW OLAP引擎,大家可能更加熟悉MS的OLAP引擎,所以这里作一些概念上的类比。这样对于BW的一些概念就容易理解了。

1、OLAP引擎类型

因为这篇文章不是普及OLAP和OLTP的区别,就不多做说明了。OLAP从实现机制上面分为ROLAP和MOLAP两种类型,前者的代表产品就是SQL Server所带的Analysis Service。而BW的OLAP引擎是基于MOLAP的。这两种OLAP引擎的区别主要在于前者会在写会数据时,更新aggregate节点的值;而后者会在读取aggregate节点值时,才计算出它的值。换言之,ROLAP的读取快,写回慢而MOLAP的读取慢,写回快。

所以大致上面来说,BPC MS version的读取效率更高。

 2、术语区别

由于BW也会支持行业内所同行的MDX标准查询语言,所以对于MS OLAP的概念,BW里面都有相对应的概念,关系如下图所示:


基于这个图表,也就可以看出两个不同版本的BPC产品在元数据上面的联系。这种联系在原来ms版用户升级到nw版时尤为重要。从BPC产品的功能角度出发,下面是另一张图表,说明两个应用平台的联系:


在SQL Server 2005套件中,SQL Server Management Studio可以作为一个工作站组件,这是用来查看数据库,相应表、试图、存储过程的工具。而从ABAP数据词典中,也可以相对应查看表、视图、结构(structure)。此外,在SQL Server Management Studio中可以查看Analysis Service实例中的Cube、Dimension,而在BW的Data Warehouse Workbench(Tcode: RSA1)中也可以看到类似的结构。
 
在SQL Server2005中,SSIS被作为DTS的替代者引入,它允许用户自定义数据流,并且控制数据转换的规则。SSIS从SQL Server数据类型中导入data objects、tables、cubes、master data;而在BW中,可以通过Tcode:RSPC来定义自己的数据流,通过process type来组装流程和自己编写转换规则。

 下面深入的看一下在Cube下面
的一些概念对应:

需要强调的是:在MS中的property相当于在BW中navigation attribute;而BPC中的Hierarchy并不是BI Hierarchy,BPC Hierarchy在技术上是Characteristic InfoObject的master data表的一个attribute;(要理解这句话,首先要知道InfoObject有两种类型,然后InfoObject有三张对应表)
在SAP BPC中,Time这个InfoObject作为Characteristic InfoObject。

下面展示的图表是说明组成一个InfoCube的表结构:

在Netweaver中的dimension table和BPC中的dimension是一一对应的;对于Fact table,这个对应于Netweaver中的F-table;writeback table在功能上面与Netweaver infocube的open request联系。当数据需要从BPC的写回时,首先会被写到一张独立的表中。当Netweaver写回数据时,会把F-table中的数据切割成片,根据request id使用最近的request写回到cube中;Fact 2 table类似于E-table的用法,当使用BPC的Optimize功能时,系统会将数据从Write Back Table移到Fact 2 Table。这种做法是为了提高性能。
 
以上的概念讲解会体现在如何使用BPC Admin Console建模,以及不同的数据模型之间的关系上。