Solo Zhu
unread,Jul 8, 2008, 10:43:47 PM7/8/08Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to ttnn BI 观点
我们经常会遇到这样的情况:客户希望我们实施DW/BI,等我们调研完了之后发现问题如下
1:全部有8个国家(A1,A2,A3,A4,A5A,A6,A7,A8),有5中系统(S1,S2,S3,S4,S5),每个国家的每种系统不完全一
样。
2:系统是按照业务来划分的,只有销售体系和财务体系是每个地区都可以提供一些基本数据的。而销售和财务数据,每个地方都存在一些差异,这些差异又是允
许存在的,而且是一定存在的。
3:未来2-4年内,可能所有地区和系统都会整合进入DW中。
4:企业没有将地区业务系统统一的计划
5:现在迫切需要上销售模块的BI,而韩国需要上HR方面的BI,日本需要上供应链方面的,中国需要HR,供应链还有客户分析等等
6:企业内部,不同国家的同一系统,比如所有国家的销售系统,他们的计算方式或者说处理逻辑不一样,而且对于DWBI而且的维度数据,也不净相同,比如
同一产品的描述,或者产品的内型等等
7:很多源系统都是采用的EXCEL的形式或者access的形式。
我们遇到这样的问题,首先是数据如何保证质量,然后是如果以后分部分批的上线DW,该如何操作。
按照我们以前的方式,构架如下
各地区的源系统 -- 统一的ODS ---- 统一的DW 统一的BI操作
这样的构架,我们对于源系统不规则或者差异很大的情况,就显得比较麻烦,首先我们在整合维度数据的时候是要在ODS中的,但是如果系统逐步的改善和上线
的话,这样的操作就显得很麻烦和笨拙
如果我们在source data和ODS间建立一个矫正引擎针对不同数据源的mapping的table和view的话,问题就比较简单了
1:首先我们可以通过这个mapping来维护source的数据和DW中的数据的一致性,同时加强数据的修正机制,讲从source过来的数据,通过
这个矫正引擎来清洗和补充数据。这样一来,将来我们在source做了很大的改动的时候,我们只是需要在矫正引擎上做一点点修改,或者改变一下
mapping的关系。
2:其次我们可以统一数据规则,比如对于订单号的一些处理,每个国家都不一样,我们可以再加一下标记,比如,在中国的订单号前加CN, 防止发生数据重
复
3:在这个矫正引擎上做一些针对source的业务逻辑不一样的进行计算,使得在数据上看到的逻辑关系是一致的,如果实在没有办法统一,可以在相应表中
加上type字段,加以区分,这样方便以后进行统一的处理。
在这个数据矫正引擎上,尽量用试图,少用数据存储。
本文在本人blog :http://bidwhome.itpub.net/进行同步更新
关注BI,关注企业未来。