資料質量之矯正引擎

bidwhome發表於2008-07-09

[@more@]

我們經常會遇到這樣的情況:客戶希望我們實施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 dataODS間建立一個矯正引擎針對不同資料來源的mappingtableview的話,問題就比較簡單了

1:首先我們可以透過這個mapping來維護source的資料和DW中的資料的一致性,同時加強資料的修正機制,講從source過來的資料,透過這個矯正引擎來清洗和補充資料。這樣一來,將來我們在source做了很大的改動的時候,我們只是需要在矯正引擎上做一點點修改,或者改變一下mapping的關係。

2:其次我們可以統一資料規則,比如對於訂單號的一些處理,每個國家都不一樣,我們可以再加一下標記,比如,在中國的訂單號前加CN, 防止發生資料重複

3:在這個矯正引擎上做一些針對source的業務邏輯不一樣的進行計算,使得在資料上看到的邏輯關係是一致的,如果實在沒有辦法統一,可以在相應表中加上type欄位,加以區分,這樣方便以後進行統一的處理。

在這個資料矯正引擎上,儘量用試圖,少用資料儲存。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7600305/viewspace-1007018/,如需轉載,請註明出處,否則將追究法律責任。

相關文章