建立模型应该考虑几个问题Word下载.docx
《建立模型应该考虑几个问题Word下载.docx》由会员分享,可在线阅读,更多相关《建立模型应该考虑几个问题Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
会计科目余额
要对现有的报表需求进行细致的分类、分析和调整,不能为了实现单个报表而进行大量的建模工作。
要根据分析的不同内容和主题对报表进行分类,明确报表中每一个数据的定义、统计口径及不同数据之间的关系,建立在整个数据仓库内统一的数据指标的定义,将数据指标按分析主题及分析维度进行归集,从而形成面向主题的数据模型。
例如:
我们的利润表报表,当业务部门发我们一个利润表的报表,作为需求时,我们应该进行细致的分析,最终我们确定我们面向的主题不是利润表,而是比利润表更大的一个层次的所有科目业务量的主题,这样我们在做别的报表,例如资产负债表,现金流量表等报表时,就不用重复建模的工作了,做到了软件工程中的可重用规则。
2.数据仓库要实现对数据的集成与数据的同构性
3.数据仓库数据的相对稳定与为实现应用而进行的实时读写操作
往数据仓库里实时写数据就是不可避免的,SAPBI也提供支持这种处理的数据对象,如实时信息立方体、汇总级别等,并提供相应的管理机制保证数据的一致性。
在建模的时候要好好考虑只读的对象与可写入的对象之间的关系。
4.数据仓库反映历史变化与及时准确的数据处理能力
数据仓库的数据库设计原则的要求
1.星形结构,实现简明的数据设计模式
2.数据参照完整性,保证数据的一致性
3.利用索引,提高查询的处理速度
4.先去索引、后加索引,提高数据装载效率
5.自动校验,保证数据的高质量
SAP商务智能项目实战过程和方法
收集客户需求信息
1.组织结构
2.客户最需要分析的数据指标
3.数据指标的数据来源
4.对数据指标的多维分析对象
5.数据指标的优先级
6.权限要求
收集客户需求的方法
1.面谈
2.问卷调查
3.报表样例分析法
分析客户需求,形成多维分析模型(逻辑建模)
实体-关系模型
KPI与分析维度
一般情况下主题和属性之间的关系是一对多的关系,通过诸多属性的描述,可以得到客户等对象的最详细的信息。
但是有些情况下,也有存在多对多的情况,如一个产品有多个颜色等,这种情况下,我们设计时,要把他们作为独立的两个特征同时出现在维度表中,也是视实际的关系采用组合属性,时间相关的属性等方法。
如例子中的一个人在不同的时期属于不同的地区,这就是多对多的关系,所以采用了时间相关的属性。
将逻辑模型变成物理模型
利用业务内容(bicontent)加快建模进程。
直接从系统中现有的模型来建模和扩展。
多层逻辑模型与BI中的建模技巧
对于大型的数据仓库系统,简单的数据获取、存储及展现的架构是远远不能满足需求的。
大型数据仓库项目的建设,需要对将数据仓库中不同数据的功能与定位进行细分,根据其功能不同,分别采取各种建模方面和技术方面的性能优化措施。
企业数据仓库与数据集市
在企业级的数据创建建设方法上,存在着两种不同的建设思路。
其实这两种建设思路并不是绝对对立的,利用SAP商务智能的配置功能,可以构建更为灵活的多层次的数据仓库结构。
1.两种建设数据仓库的不同思路
一种是有Inmon提出的企业级数据仓库模型。
主张采用第三范式(3NF),先建立企业级数据仓库,再在其上开发具体的应用。
其优点是采用了第三范式,数据存储冗余度低、数据组织结构型好;
同时反映的业务主体能力强,具有较好的业务扩展性等。
这种建设思路不足的地方时数据表是数据表之间的联系比较多,也比较复杂,跨表操作多,查询效率较低。
由于数据模式复杂,不容易理解,不利于维护。
系统建设过程长,周期长,难度大,风险大,容易失败。
另一种思路是有Kimball提出的多维模型。
他主张降低范式化,以分析主体为基本框架来组织数据。
其优点是以多维模型开发分析主题,查询速度快,做报表也快,同时可以实现快速实施,迅速获得投资回报。
再在各个分析主题的基础上循序渐进,逐步建成企业级数据仓库。
这种主张融合了自下而上和自上而下两种设计方法的思想,但是需要对数据进行大量的预处理,建模过程相对来说就比较慢。
由于数据是按业务主体组织的,当业务问题发生变化,维的比搬动复杂、耗时,而且信息不够全面、系统欠灵活、数据冗余多。
这两种思路的区别是建设企业数据仓库与数据集市先后次序的区别。
这种区别说明了数据仓库不同部分的构成是需要进行功能划分的,建立具有不同的分层的数据仓库系统是大势所趋。
2.具有多层结构的数据仓库系统
从技术上来说,SAPBI支持建立具有多个层次的数据仓库系统。
在软件方面,它提供了技术性能各异的多种数据对象,可以构建不同的逻辑层次;
在硬件方面,支持应用服务器与数据库服务器的动态扩展及根据性能需要进行不同的参数设置。
SAPBI支持建立多个逻辑数据层次,这有助于提高模型设计的灵活性、可以利用同一套数据实现和管理多个不同的需求。
BI的多层建模及在各个模型层次的一些建模技巧,如图。
从数据的存储逻辑上看,图中包含5个逻辑层。
数据抽取准备区
这是原始明细数据层,这是保存源系统明细数据的存储层,可以使用BI的PSA构建这个层次;
每一个PSA表对应着源系统中抽取数据的一个数据源,PSA的表结构和数据源的结构一一对应,这一层次的数据通过SAP或非SAP的工具实现上传,基本上是各个源系统的副本,没有过多的修改和筛选,为数据的抽取和进一步的转换作准备。
(2)运营数据存储
这一层次的存在主要是为了满足从BI中出具运营层面的报表。
运营报表查看的数据一般是比较明细的数据,对时效性的要求也比较高,所以这一层次的数据相对来说更新频繁,数据比较不稳定。
可以使用BI的DSO来构建这一数据层。
(3)企业数据仓库层
这是面向主题的储存的明细数据层。
这一层次的数据主要保存历史的、稳定的、明细的、整合的数据,可以使用DSO来构建这个层次;
数据从PSA层向这一层次根据不同的业务主题进行归集。
每个DSO集成了来自不同的源系统的同一业务主题的相关数据。
在这一层次上,对不同来源的数据进行整合,对源系统间的数据进行校验和统一,形成全系统内数据的一个统一的平台。
(4)数据集市层
这是一个面向应用的、具有多级汇总特性的多维分析层,他主要面向业务部门、数据时经过聚集和整合的,可以使用BI的信息立方体及多种虚拟对象来创建。
这一层次的数据是根据应用的要求进行不同级别的汇总的。
处于应用的需要,还需要在各种汇总级别上搭建跨主题的联合查询。
(5)信息的发布和访问层
这一层包括分析、报表、合并、计划等应用,是提供给各个业务部门使用的,通常使用数据集市或DSO对象来实现。
总体而言,为了定义数据对象之间更明确的逻辑关系,数据的流向是从下至上,在多个层次间流动的。
但在技术上并没有限制,各个对象之间的数据流动是可以灵活定义的。
SAPBI为多层数据仓库模型的构建提供了相应技术以及构建这些数据层次的各种数据对象。
3.各个逻辑层共享主数据
正如前面提到的,信息对象是SAPBI中的基本单位,上述的所有数据层都是使用信息对象构建的。
所以在整个系统建模中要通过信息对象共享性,保证不同数据存储模型的数据水平方向一致性,减少数据冗余。
(1)使用业务内容
应该尽量采用SAP预定义的业务内容来构架数据模型。
急于SAPBI的业务内容提供的数据模型进行整体设计。
SAP预定义的业务内容涵盖了所有的SAP产品中的所有主数据、数据模型、抽取程序、报表等定义,可以加快整个项目实施的进程。
业务内容是基于SAP所有的产品模块进行整体设计的,所以在整个设计中保证了设计的继承性和产品的延续性。
业务内容不仅包括SAP的产品的,还囊括了一些非SAP得产品,如:
Oracle的财务系统、Siebel的CRM系统等。
(2)统一主数据设计
统一的主数据信息对象的设计,以保证所有R3系统和非R3系统数据的一致性。
在SAP预定义的业务内容中,已经定义了丰富的信息对象,但是,在实际的实施中,还是会发现已有的SAP预定义的信息对象不一定能够覆盖整个企业的应用需求。
如果SAP预定义的信息对象的特征无法完整地描述用户所需要的信息,建议对信息对象进行有效地扩充,以满足用户的分析需求。
如果需要的信息对象不在SAP预定义的业务内容范围内,建议对非SAP得应用系统应该进行一个统一的,全局的规划和设计。
(3)保证设计的灵活性
主数据整合是一个渐进的过程,在设计中应保证足够的灵活性。
并不是所有的主数据都需要整合,而且主数据的整合过程也是一个渐进的过程,所以,应该在设计初始阶段采用灵活的方法,以支持主数据整合渐进的过程。
一种常见的方式就是先把主数据上传到DSO,再将上传到信息对象进行整合。
下面将就各个逻辑层次的建模特点及技巧做进一步的探讨。
数据集市层的设计技巧与实例
数据集市层往往是基于一定的范围或某个业务部门的应用需求,要求模型能支持多维的分析,能够对历史数据进行有效分析,同时要保证数据的一致性、有效地控制数据冗余。
这些多是设计数据集市时要考虑的关键点。
使用虚拟信息提供者
可以利用BI中的各种虚拟的信息提供者来把不同的数据对象,如DSO或信息立方体的数据融合在一个虚拟的信息提供者中。
在信息立方体中存放基于关键指标的聚集数据,在数据存储对象中存放详细的业务数据。
通过追溯的功能,可以浏览不同阶级的聚集或明细的数据,如图所示。
这样设计可以保证汇总数据与详细数据的一致性,提高了数据的访问的效率,降低了数据的冗余,在新的项目或创建洗新的应用时,对已有的成果进行回顾和评价分析,以便在以前的项目成果上进行设计和构架(如通过多信息提供者),以满足新的需求,而避免出现为了一个报表而设计一个信息立方体的情况。
这样做在减少数据的冗余,减少重复设计的冗余的同时,也降低了数据集市和报表的管理难度。
大数据量时尽量对信息立方体的使用物理分区
物理分区就是将数据库表分成几个小区存储,在逻辑上还是一个数据库表,对用户来说是透明的。
适用数据库
物理分区时给予数据库特性使用的,适用于如下数据库。
范围分区:
oracleInformix,IBMDB2
哈希分区:
IBMDB2
启用分区
BI充分考虑并使用了数据库物理的特征,用于提高存储性能。
在BI中物理分区有一部分是有系统自动优化的,也有一部分需要有模型设计着进行手动配置。
自动分区。
以范围分区为例,系统在下列情况下自动对物理表进行分区:
信息立方基本事实表:
系统自动按照请求,即对上传的数据包进行分区。
PSA表:
同上。
DSO的更新记录:
用户自定义分区:
用户也可以自定义分区。
比如对于信息立方体的聚集事实表,用户可以指定分区方法。
点击跳到:
在这个窗口中可以按照时间特征进行分区。
使用物理分区可以明显地提高数据存储与访问的性能,有利于系统实现并行处理分区,每次查询只读取较小的数据集,在进行数据删除时可以快速删除分区。
大数据量时尽量通过多信息提供者,实现逻辑分区。
逻辑分区实现示例
通过多信息提供者把大数据分割成小的数据分区,可以按照不同的年份,计划/实际,区域,业务区域等进行数据分区。
如图所示为一个常见的例子,可以按照不同的地区将数据存储在3个结构相同的信息立方体中。
如果需要进行全局的查