監(jiān)理公司管理系統 | 工程企業(yè)管理系統 | OA系統 | ERP系統 | 造價咨詢管理系統 | 工程設計管理系統 | 簽約案例 | 購買價格 | 在線試用 | 手機APP | 產品資料
X 關閉
南昌OA信息化

當前位置:工程項目OA系統 > 泛普各地 > 江西OA系統 > 南昌OA系統 > 南昌OA信息化

“臟數據”的轉換與清洗

申請免費試用、咨詢電話:400-8352-114

文章來源:泛普軟件 目前,基于數據倉庫的商業(yè)智能應用已經成為國內許多企業(yè)的IT規(guī)劃項目,并受到企業(yè)管理層的關注。作為商業(yè)智能的基礎,數據質量的好壞是影響商業(yè)智能應用效果的關鍵,但由于企業(yè)的信息化經過長期的積累和發(fā)展,數據質量參差不齊,臟數據的存在阻礙了商業(yè)智能應用的進程,下面將重點談談如何讓臟數據改頭換面。   數據的“往事”   臟數據是指源系統中的數據不在給定的范圍內或對于實際業(yè)務毫無意義,或是數據格式非法,以及在源系統中存在不規(guī)范的編碼和含糊的業(yè)務邏輯。   臟數據的存在主要是由于源系統的設計不夠嚴密造成的。主要表現為:數據格式錯誤,數據不一致,數據重復、錯誤,業(yè)務邏輯的不合理,違反業(yè)務規(guī)則等。例如,未經驗證的身份證號碼、未經驗證的日期字段等,還有賬戶開戶日期晚于用戶銷戶日期、交易處理的操作員號不存在、性別超過取值范圍等。此外,也有因為源系統基于性能的考慮,放棄了外鍵約束,從而導致數據不一致的結果。   目前,大多數的銀行業(yè)務系統的輸入界面是采用COBOL語言或C語言開發(fā)的,界面處理功能不是很強,一些要素被設計成“輸入”而不是“選擇”,如企業(yè)客戶的信用等級被設計成輸入,輸入的正確與否完全由操作員的理解決定,這也是臟數據產生的原因之一。例如,如果被設計成“選擇”就不會出現把AAA輸成“1”或其他了。     轉換與清洗的實例   下面以銀行業(yè)務系統的客戶的惟一標識—客戶號為例來講解如何轉換與清洗數據。   客戶信息的處理是整個數據抽取、轉換、清洗和裝載(ETL)工作中最復雜的部分。目前業(yè)務系統中常見的客戶信息處理的難點主要有以下兩個方面。   客戶的惟一標識混亂   銀行的客戶號一般由證件類型與證件號組成,這里就有一個問題,如果客戶有多種證件怎么辦?或者說某個客戶辦了移民,有了新的身份,系統中怎樣體現出他是同一個客戶?這些問題,除了少部分是由于發(fā)證機關造成的(如身份證重號),大部分是由于操作人員的操作不規(guī)范造成的。主要表現在以下三個方面。   A、客戶身份證號問題   最常見的問題是客戶的身份證從15位更換為18位。首先操作人員只要能輸入新的客戶號,就認為是一個新的客戶;其次,即使操作員知道客戶的身份證升位了,但在銀行的客戶信息中,客戶號是惟一標識,如果對惟一標識進行更新,作為增量反映到目標系統中,但沒有記錄原客戶號,對于目標系統來說就是一條新記錄,而刪除原有的客戶信息在實際操作中可能是不允許或做不到的,因為在這個客戶號上可能還掛了許多賬戶,即便物理刪除了這條客戶記錄,也不可能作為增量數據傳輸到分析系統,因為這條數據確實已經不存在了。   所以在實際的業(yè)務操作中只是簡單地增加一條客戶信息,新開的賬戶就掛在新的客戶信息上,這樣業(yè)務系統中就登記了兩條客戶信息。   在ETL處理時,對上面這種情況一般都直接轉換為18位,但在首次全量處理時,必須通過比較姓名來真實證明兩條記錄是同一個客戶。增量處理時需要同樣的處理。這樣做需要更多的系統時間。   第二個客戶身份證號問題是15位身份證號中有字母。如數字“0”被誤寫為字母“O”。   第三個客戶身份證號問題是長度不為15位與18位。   第四個客戶身份證號問題是同一身份證多個客戶號。   身份證號問題在ETL時要生成異??蛻粜畔⒂涗浳募俳挥蓸I(yè)務部門處理,如把原15位身份證上掛接的賬戶重新掛接到18位上,刪除15位的客戶信息,刪除錯誤的客戶信息,重新錄入正確的客戶信息,并進行賬戶掛接。   B、多種證件問題   多種證件也會導致一名客戶有多個客戶號,技術上沒有能力來發(fā)現,只有依靠業(yè)務人員來收集、更新維護信息。如果通過建新表來保存這種關系,將增加數據處理、查詢的難度。   C、其他問題。有些賬戶上沒有客戶信息或虛編了客戶號,比如1999年11月以前開設的賬戶,沒有客戶可以掛接,于是隨意設了客戶號,在匯總統計時要注意區(qū)分這種情況。   多數據源導致多客戶信息   由于客觀原因,銀行可能有許多分散獨立的業(yè)務系統,沒有做到完全的集中,這些系統中都有客戶信息。   多數據源導致多客戶信息,同一客戶在不同系統中有不同的數據描述,或者詳細程度不同,在一些系統中甚至可能沒有明確的客戶代碼與客戶信息。在處理時,主要根據客戶信息的詳細程度與更新時間來考慮,并確定一個信息修改的原則。   首先我們把來自最大的數據源——核心業(yè)務系統的客戶信息作為基礎,這些信息數據量大,雖然有很全面的數據結構,但大部分的字段內容為空,而來自個人信貸系統、銀行卡系統等的客戶信息數據量相對較少,有詳細的內容,正常情況下客戶記錄應該是核心業(yè)務系統的一個子集。數據倉庫系統應該綜合所有系統的客戶信息,客戶記錄數應該是并集,客戶記錄字段應該是一些重要字段的并集。   然后確定不同數據源有公共字段的修改順序。首先按信息的修改時間來判斷,但最新的信息修改不一定有最全面的信息,如在柜面開戶,核心系統僅錄入了身份證與姓名,沒有錄入地址等其他公共字段信息,而個人信貸系統或卡系統雖然建立的時間比較早,但有較全面的信息,不能用核心系統信息直接更新。所以公共字段的修改原則是在源數據與目標數據的字段不為空的情況下,以最新的信息為準。但這樣做要耗費大量的系統資源,特別是在做全量數據初始化時,好在客戶信息變化的頻率不是很高,在實際全量數據初始化時往往是確定一個順序,例如,以核心業(yè)務系統信息為基礎,銀行卡信息覆蓋核心業(yè)務系統信息,然后再用貸款信息覆蓋。   增量處理時一種折衷的方法是,在目標系統中記錄客戶信息的來源系統,如果來自貸款系統,則不能用其他系統的增量信息更新,只能用貸款系統的增量信息更新,而貸款系統的信息可以修改來自其他系統的信息。   實施經驗:轉換與清洗的時機   一般來說,轉換與清洗發(fā)生在數據抽取之后,一些轉換與清洗可以在抽取的同時去做。對于一些相對不繁忙的業(yè)務系統,如個人信貸系統,由于不是24小時運行,在每天完成正常的數據處理后,仍有很多時間空閑,在數據卸載時可以進行轉換與清洗,這樣做能夠減少數據倉庫的負載量。需要注意的是,不能對源系統進行清洗,因為源系統數據正確性的標準可能與目標系統不一樣,對源系統的數據進行任何的修改與刪除都是不允許的。當然源系統清理自身錯誤的數據對加快數據抽取會有好處。   數據清洗的六個步驟   數據倉庫領域的權威W.H.Inmon博士把數據清洗的過程分為六個步驟: 步驟一:元素化(將非標準的數據統一格式化成數據元素)。 步驟二:標準化(將元素標準化,根據數據字典消除不一致的縮寫等)。 步驟三:校驗(對標準化的元素進行一致性校驗,即在內容上修改錯誤)。 步驟四:匹配(在其他記錄中尋找相似的記錄,發(fā)現重復異常)。 步驟五:消除重復記錄(根據匹配結果進行處理,可以刪除部分記錄或者把多個記錄合并為一個更完整信息的記錄)。 步驟六:檔案化(將結果寫入元數據存儲中心。這樣可以更好地進行后續(xù)的清理過程,使得用戶容易理解數據庫以及更好地進行切片、切塊等操作)。(ccw)  
發(fā)布:2007-04-22 10:00    編輯:泛普軟件 · xiaona    [打印此頁]    [關閉]
南昌OA系統
聯系方式

成都公司:成都市成華區(qū)建設南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統

QQ在線咨詢

泛普南昌OA信息化其他應用

南昌OA軟件 南昌OA新聞動態(tài) 南昌OA信息化 南昌OA快博 南昌OA行業(yè)資訊 南昌軟件開發(fā)公司 南昌門禁系統 南昌物業(yè)管理軟件 南昌倉庫管理軟件 南昌餐飲管理軟件 南昌網站建設公司