tft每日頭條

 > 科技

 > mdm數據模型

mdm數據模型

科技 更新时间:2024-12-25 13:24:52

科技飛速發展的時代,企業信息化建設會越來越完善,越來越體系化,所上的應用系統也就越來越多,業務發展中沉澱了大量的數據,但是這些數據沒有為企業帶來直觀的價值,沒有形成企業的數據資産,所以越來越多的企業進入到了數據治理階段,對于主數據治理的需求越來越明确。

MDM基礎數據管理平台是進行清洗和治理企業的主數據,使企業的主數據具有唯一性、準确性、一緻性、及時性,通過主數據數據清洗功能将錯誤數據和重複數據進行清洗,從而保證企業數據能夠做到以上那幾點,然後再分發至下遊系統,使企業信息化更加完善。

整體介紹

主數據治理方案可以将企業的組織、人員、客戶、供應商等高度共享的數據進行統一管理,對需要的業務系統進行同步分發,使數據易采集、易理解、易分析,提高部門與部門之間的溝通效率。

1.産品說明

mdm數據模型(MDM數據清洗功能開發說明)1

MDM基礎數據管理系統是對主數據進行同步、清洗、治理、分發全生命周期的一次管理,幫助各個業務系統的主數據統一,保障它們的完整性、一緻性,同步就是從主數據源頭到主數據過程,治理是到主數據後進行一系列的管理和維護、分發是把治理後主數據分發給各個業務系統包括源頭。

通過以上各個過程的相互配合去從根本上解決企業各個業務系統之間數據不能共享,數據重複、錯誤等問題。使企業在數據方面更完善,業務進行更順暢。

2.功能說明

通過數據清洗功能下載主數據導入模闆,源頭業務系統把數據填寫模闆中,通過數據清洗導入功能進行導入清洗,檢測出數據中欠缺的、重複的、不符合規則數據,通過導出功能把失敗的數據導出到Excel中進行數據處理後,在重新導入重新檢測直到所有數據成功為止,然後把所有成功的數據導出Excel中,返回給業務源頭系統進行源頭系統的數據清洗(源頭系統添加主數據編碼映射),通過主數據任務分發把标準的數據分發給業務,這樣就把源頭、主數據、下發至業務系統數據保持一緻

mdm數據模型(MDM數據清洗功能開發說明)2

3.需求分析

MDM是對主數據進行同步、清洗、治理、分發全生命周期的一次管理,幫助各個業務系統的主數據統一,保障它們的完整性、一緻性,同步就是從主數據源頭到主數據過程,治理是到主數據後進行已系列的管理和維護、分發是把治理後主數據分發給各個業務系統包括源頭,而本次要擴展的數據清洗功能就是在同步和治理過程中把主數據一些欠缺的、重複的、不符合規則的數據清洗出來。

功能設計

功能設計部分包含大體上的實現思路,數據庫表的設計,表關聯關系設計,清洗功能相關的配置策略,還有具體的實現步驟。看完設計部分之後大概就能對清洗功能有了一定的了解,知道它能做什麼,有哪些功能。

1.實現思路

mdm數據模型(MDM數據清洗功能開發說明)3

首先将數據導入到數據清洗功能中,導入過程中會根據配置的校驗規則将不符合校驗規則的數據的狀态标記為失敗;處理完錯誤數據之後,緊接着就會處理重複數據,通過數據巡檢規則去判斷每條數據之間是否重複,同樣,對于重複的數據也會标記為失敗狀态,最終導入到清洗功能中就可以看到哪些數據存在問題,存在哪些問題,然後就可以導出到Excel表格中進行修改,接下來就是同樣的操作,重複多次,直至數據狀态全部變為成功,就可以用這些數據去做其它操作了。

2.模型設計

模型設計主要涉及到數據清洗功能相關的數據庫表結構以及表與表之間的關聯關系,然後就是相關的清洗功能相關的一些配置說明。

> > > >清洗表設計

數據清洗會給每個主數據創建四張表,包括清洗導入表、錯誤信息表、重複數據表和校驗規則關聯表。

清洗導入表用于存放所有導入到數據清洗功能中的數據,無論成功與失敗,所有數據都能夠通過這張表查到。

mdm數據模型(MDM數據清洗功能開發說明)4

錯誤信息表用于存放導入過程中不符合校驗規則的數據,這個是按照字段來導入的,一條數據的一個字段錯誤則為一條錯誤數據。

mdm數據模型(MDM數據清洗功能開發說明)5

重複數據表用于存放導入過程中相互之間重複的所有數據。

mdm數據模型(MDM數據清洗功能開發說明)6

校驗規則關聯表用于存放那些不符合校驗規則的數據關聯的校驗規則信息。

mdm數據模型(MDM數據清洗功能開發說明)7

> > > >清洗表關聯

清洗導入表與錯誤信息表相互關聯,通過清洗ID可以查到某條數據對應的錯誤信息,或者直接查詢到所有錯誤信息。同樣,通過錯誤信息表也能方向查詢出有哪些數據有錯誤。

mdm數據模型(MDM數據清洗功能開發說明)8

清洗導入表與重複數據表相互關聯,通過清洗ID可以查詢到某條數據的和它重複的數據信息,也可以直接查詢所有重複數據。和錯誤信息表同理,也能夠通過重複數據表直接篩選出有哪些重複的數據。

mdm數據模型(MDM數據清洗功能開發說明)9

錯誤信息表與校驗規則表相互關聯,通過錯誤ID可以查詢到這個錯誤字段關聯的校驗規則有哪些。

mdm數據模型(MDM數據清洗功能開發說明)10

> > > >清洗前配置

創建主數據通常分為兩個部分,一個是數據建模,一個是功能建模,這兩部分中都有數據清洗相關的配置。首先從數據建模中說起,在編輯主數據信息的時候可以選擇是否需要數據清洗功能,如下圖所示:

mdm數據模型(MDM數據清洗功能開發說明)11

如果選擇了數據清洗,當跳轉到數據建模頁面中時,就需要配置字段關聯的校驗規則,之後的清洗過程就會按照配置的校驗規則去執行。

mdm數據模型(MDM數據清洗功能開發說明)12

配置好校驗規則後點擊提交按鈕就會跳轉到創建表的頁面并生成數據清洗相關的那四張表,點擊創建和提交,數據建模部分相關的配置就完成了。

mdm數據模型(MDM數據清洗功能開發說明)13

接下來是功能建模,功能建模中配置的一個是數據清洗導出的策略,這個導出包括過程中導出和導出最終清洗結果。這個策略分為兩種,分别為導出全批次成功和導出單批次全量。全批次成功導出的是所有批次下清洗成功的數據,單批次全量導出的是最後一個批次下的所有數據,如圖所示:

mdm數據模型(MDM數據清洗功能開發說明)14

功能建模配置的另一個是,巡檢匹配字段,也就是清洗數據重複校驗的字段,如圖所示:

mdm數據模型(MDM數據清洗功能開發說明)15

完成以上這些配置後就可以進行數據清洗功能的相關操作了。

3.實現步驟

數據清洗功能整體實現步驟如下:

1.完成數據清洗相關數據庫表的動态生成;

2.完成數據清洗相關配置的功能,如:是否清洗,導出策略;

3.完成清洗數據的導入功能,又可細分為三部分:常規數據的導入,錯誤數據的導入和重複數據的導入;

4.完成清洗數據的詳細信息查看功能;

5.完成清洗數據重複數據的查看和其它操作功能,如:排除重複數據和還原重複數據;

6.完成數據的過濾篩選功能,如:批次号過濾,錯誤字段過濾和校驗規則過濾等;

7.完成清洗數據的導出功能,如:批次導出和導出最終結果。

基本功能

在将數據導入到清洗功能中後可以對錯誤數據進行查看,有詳細的錯誤信息可以查看,另外也可以查看重複數據,排除重複數據。除此之外還有過濾功能,可以通過字段和校驗規則,過濾出相關的數據,下面的内容中将會對這些功能進行詳細介紹。

1.清洗詳情

點擊查看數據,或者雙擊可以查看錯誤數據信息或者是重複信息。

mdm數據模型(MDM數據清洗功能開發說明)16

2.清洗過濾

清洗過濾可以通過字段和校驗規則篩選出符合過濾條件的數據。

mdm數據模型(MDM數據清洗功能開發說明)17

3.查看重複

點擊右上角的是否重複可以篩選出重複數據。

mdm數據模型(MDM數據清洗功能開發說明)18

進入到數據詳情頁面可以查看重複數據的信息,包括常規的字段和重複的字段信息。

mdm數據模型(MDM數據清洗功能開發說明)19

mdm數據模型(MDM數據清洗功能開發說明)20

4.排除重複

對于重複,清洗功能自帶排除功能,可以将重複數據進行排除,如果不小心誤删也可以通過還原按鈕将數據還原回去,類似電腦桌面上的回收站功能。

mdm數據模型(MDM數據清洗功能開發說明)21

清洗導入

數據導入主要分為兩部分,一部分是導入錯誤數據,這部分數據主要是通過對數據中配置校驗規則的字段進行校驗,不符合規則的數據将被過濾出來;另一部分是導入重複數據,通過巡檢規則将重複數據過濾出來,對于失敗的數據可以進行導出,然後在Excel中進行修改,再導入到清洗表中,反複多次直到數據沒有任何問題,然後可以選擇導出到Excel,也可以同步到主數據中,然後分發到下遊系統。

1.基本數據

基本數據的導入主要是按照清洗導入表的結構進行導入,對Excel表格進行數據的讀取,這裡用到了HSSF進行對Excel表格數據讀取的操作。通過循環每一行中的每一個單元格将數據存入到大數據字段中,新增createCleanRecords()和findCleanRecords()方法,到這裡一條按數據導入完成,以此類推,完成清洗導入表的數據新增。

mdm數據模型(MDM數據清洗功能開發說明)22

2.錯誤數據

錯誤數據的導入需要在導入基本數據的過程中通過校驗規則對每條數據的每個字段進行判斷,不符合校驗規則的标記為失敗狀态,最終對失敗數據進行新增,錯誤字段為上面校驗的字段,錯誤信息則是校驗規則名稱,新增createErrorRecords()和findCleanErrorRecords()方法,完成錯誤信息表數據的新增。

mdm數據模型(MDM數據清洗功能開發說明)23

3.重複數據

1.實現步驟

重複數據的導入需要在錯誤信息全部導入完成之後,将沒有錯誤的數據整理到一起,再對這些數據進行循環讀取,通過巡檢規則來判斷配置的字段是否存在值相同的情況,如果存在,修改清洗狀态為失敗,獲取到重複的字段,然後将數據導入到重複數據表中。

mdm數據模型(MDM數據清洗功能開發說明)24

2.效果展示

mdm數據模型(MDM數據清洗功能開發說明)25

mdm數據模型(MDM數據清洗功能開發說明)26

mdm數據模型(MDM數據清洗功能開發說明)27

清洗導出

清洗導出主要分為三種情況,第一種是選中數據進行導出,第二種是批次導出,第三種是導出清洗結果,導出功能通過freemarker模闆将數據導出到Excel表格中,下面将對這三種清洗導入分别進行說明。

1.選擇導出

1.實現步驟

選擇指定的數據,可以單選和多選,也可以按頁進行全選,點擊批次導出,通過選擇的清洗數據ID分别去到清洗導入表、錯誤信息表和重複數據表中查詢符合條件的數據,清洗表中獲取大字段中的數據,導出到表格中,另外就是錯誤個數和錯誤信息,錯誤個數為當前數據不符合校驗規則的字段的個數,錯誤信息為字段加校驗規則名稱;如果是數據重複,錯誤個數為1,錯誤信息為數據重複。

2.效果展示

mdm數據模型(MDM數據清洗功能開發說明)28

mdm數據模型(MDM數據清洗功能開發說明)29

2.批次導出

1.實現步驟

批次導出根據導出策略分為兩種情況,導出全批次下失敗數據和導出當前批次下全部數據,第一種情況,需要先獲取當前清洗頁面中的數據狀态,如果不為失敗,則提示用戶需要先過濾出失敗數據,再進行導出,如果是單批次全量,則獲取當前批次号然後按照批次号進行數據的導出,具體的導出過程同選擇導出。

2.效果展示

導出全批次成功(提示過濾出失敗數據):

mdm數據模型(MDM數據清洗功能開發說明)30

導出單批次全量:

mdm數據模型(MDM數據清洗功能開發說明)31

mdm數據模型(MDM數據清洗功能開發說明)32

3.結果導出

1.實現步驟

結果導出為導出最終的清洗結果,同樣也根據導出策略的不同分為導出全批次成功數據和單批次全量數據,不管哪一種,隻要通過導出清洗結果按鈕導出的數據,一定都是清洗成功後的數據,所以如果是導出單批次全量,就需要先查詢當前批次下是否有失敗數據,這個需要去清洗導入表查,如果失敗數據的個數大于0,說明仍存在失敗數據,這個時候提示用戶需要對失敗數據進行操作然後再次導出。

2.效果展示

mdm數據模型(MDM數據清洗功能開發說明)33

mdm數據模型(MDM數據清洗功能開發說明)34

mdm數據模型(MDM數據清洗功能開發說明)35

Excel技巧

在實際業務場景中,需要清洗的數據量是非常巨大的,那就意味着錯誤的數據也會比較多,在這種情況下如何在Excel中快速對錯誤數據進行修改就成了每個業務員的必修課了。

這部分内容将整理出一些關于在Excel中如何批量修改數據的操作技巧,實現在數據清洗的過程中快速對錯誤數據進行改正,從而提高工作效率。

1.快速篩選數據

通常情況下,我們在處理數據量很大的Excel時,需要先進行篩選,将全部數據根據篩選條件分成若幹個部分,再進行處理。篩選也有一些技巧。

1.首先,直接選中首行,然後點擊數據選項,再點擊左側自動篩選,之後每一個都會出現篩選的倒三角。

mdm數據模型(MDM數據清洗功能開發說明)36

2.篩選通常分為内容篩選和顔色篩選,内容篩選直接根據數據值來進行篩選,比較直接,如果是帶有數字的數據,也可以設置排序,這樣查找起來比較方便。

mdm數據模型(MDM數據清洗功能開發說明)37

3.除了按照内容篩選之外,還可以按照顔色進行篩選。按照顔色篩選需要有篩選條件,先把數據标記出來,例如,标記出重複數據(清洗功能需要修改的一類是不符合校驗規則的數據,還有就是重複的數據,所以我們需要把重複數據先篩選出來)。

4.首先,選中要篩選的列,點擊上方重複項按鈕,選擇設置高亮重複項。

mdm數據模型(MDM數據清洗功能開發說明)38

5.接下來,需要選擇數據區域,如果篩選整列,這個就不要做出調整;如果需要調整,直接長按鼠标畫出需要篩選的區域即可。這裡還有一個細節需要注意:如果數據為身份證号或銀行卡号,則需要勾選。因為這類數據屬于數值類型,但是它的長度遠超于正常數值範圍,所以在這裡需要特别設置一下,否則Excel沒有辦法識别這類數據。

mdm數據模型(MDM數據清洗功能開發說明)39

6.設置好之後,重複的數據就會被标記成單獨的顔色篩選出來,然後就可以按照顔色來篩選。

mdm數據模型(MDM數據清洗功能開發說明)40

2.批量調整列寬

通常我們在打開一個Excel表格之後,每一列的列寬都是固定的,但是有一些列,他們的數據長度比較大,為了方便查看我們需要調整列寬,比較慢的做法是鼠标拖動對應列的首行單元格的右側邊框,而比較快速的做法則是直接雙擊右側邊框來實現列寬的調整。

mdm數據模型(MDM數據清洗功能開發說明)41

3.批量新增數據

選中需要的單元格,在編輯欄輸入數據,按下Ctrl鍵的同時,按Enter鍵,即可快速批量填充。

mdm數據模型(MDM數據清洗功能開發說明)42

mdm數據模型(MDM數據清洗功能開發說明)43

4.批量修改數據

1.鼠标放在單元格右下角,當出現十字光标的時候向下拖拽即可按照順序自增,但是需要設置單元格格式為數值,如果是文本需要按住Ctrl鍵,然後再進行拖拽

2.除了拖拽之外也可以通過查找替換來批量操作數據,Ctrl F快速彈出查找框,可以輸入想要查找的内容,點擊查看全部就可以查詢到所有符合條件的數據,之後可以進行替換或者删除。

mdm數據模型(MDM數據清洗功能開發說明)44

mdm數據模型(MDM數據清洗功能開發說明)45

5.批量去小數點

選中數據後,使用快捷操作組合鍵Ctrl Shfit 1就可以看到小數點消失,隻剩下整數。

6.數據換行顯示

有的時候一列數據會出現某幾條很長的情況,如果直接調整列寬會讓整體看起來不太美觀,這個時候我們可以單獨讓這個單元格内數據換行顯示,比較快速的方法就是先選中單元格,然後在編輯欄選擇要換行的位置,按下alt 回車實現快速換行。

mdm數據模型(MDM數據清洗功能開發說明)46

7.常用快捷方式

1.Ctrl 1快速打開單元格格式設置。

2.Ctrl 加号快速插入行和列,Ctrl 減号快速删除行和列。

3.Ctrl tab快速切換工作簿。

4.Ctrl Enter批量輸入内容。

5.Ctrl k插入超鍊接。

6.Alt 回車單元格内強制轉換。

7.Ctrl 0隐藏選中的列。

8.Ctrl HOME移動到工作表的開頭。

9.Ctrl END移動到工作表的最後一個單元格。

10.Ctrl Y重複上一次操作。

心得總結

最後是總結部分,包括功能開發過程中遇到的問題,以及使用的技術要點,末尾是個人的心得體會部分。

1.問題總結

本次數據清洗功能開發過程中遇到的棘手的問題還是比較多的。首先就是Excel數據讀取的問題,由于是第一次接觸相關功能的開發,所以對于這部分用的HSSF組件一開始并不熟悉,但是通過後面的學習以及實際應用過程中,對這部分的相關的知識以及常用的一些方法逐漸掌握,也順利地完成了相關功能模塊的開發。第二個就是關于freemarker模闆的應用,也是一開始不太熟悉,對于單元格數據格式、模闆的生成,以及導出的邏輯了解并不夠,通過查看其它類似功能,去找一些方法進行學習理解,不懂的地方通過百度或者向同事請教,最後也是順利地完成了相關模塊的開發。除了技術上遇到的難題之外,還有邏輯方面需要繼續強化,對于比較複雜的邏輯關系,梳理的時間就會比較久,不過通過清洗功能的開發,自己在邏輯這一方面已經有了很大的進步,但後續還需要繼續加強。

2.技能收獲

這次學習到的新技術也是一個開發過程中遇到的比較棘手的問題。一是HSSF組件讀取Excel數據。這個組件通過行和列定位到某一個單元格,然後獲取單元格中的值,有字符串類型也有數值類型,還有其他比如日期類型等等。另外,這個組件也能獲取到每個sheet中行數和列數,以及第一行,最後一行、第一列和最後數據信息。除此之外,還能查看每個單元格的數據類型,也可以自己定義單元格的數據類型,總體來說還是十分方便的,在操作過幾次對于常用的方法掌握了之後使用起來也并沒有很難。

第二就是通過freemarker模闆導出數據到Excel表格中。這部分主要是了解到freemarker模闆就是将Excel表格由xls格式轉換成xml格式存入到serve中,然後就是數據格式的配置,再有就是對于文件的輸入輸出流進行了學習了解。

3.心得體會

這次數據清洗功能的開發整體用時比較久,期間涉及到的一些知識和技術基本上是第一次接觸,了解程度并不夠;另外對于功能的邏輯關系梳理的能力還需要繼續強化,當遇到比較複雜的邏輯關系時,也能有條理、思路清晰的梳理出來,然後開發,這點是很重要的。還有就是對于各個功能模塊需要考慮的更加全面,站在用戶角度去思考,這樣才能盡可能的避免測試過程中遇到很多問題,就不需要再耗費時間去修改調整,對于這方面盡可能在開發的時候就去做好。

最後,通過該功能的開發,自己的收獲還是非常大的,除了上面提到的一些新知識的學習之外,我覺得自己在邏輯方面進步最大,雖然還有很大的進步空間,但整體上已經比之前好了很多。另外,在開發的時候也慢慢地有了換位思考的意識,相信通過後續的開發工作的展開,會讓自己這方面的意識變得越來越好。

本文由@數通暢聯原創,歡迎轉發,僅供學習交流使用,引用請注明出處!謝謝~

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved