
說說什么是數(shù)據(jù)分析方法論?
在數(shù)據(jù)集成類的項目中,最難的過程就是數(shù)據(jù)分析了,數(shù)據(jù)分析過程位于數(shù)據(jù)集成類項目整個過程(前期準備調(diào)研—–數(shù)據(jù)分析—–接口實現(xiàn))的第二步,它為第三步接口實現(xiàn)提供了充分的準備,因此數(shù)據(jù)分析的正確與否很大程度上決定了數(shù)據(jù)集成能否成功的實現(xiàn)和完成。
怎么樣有效的進行數(shù)據(jù)分析呢,怎么樣提前在數(shù)據(jù)分析中盡量避免問題等到實現(xiàn)時才出現(xiàn)呢?這是一個行之有效的數(shù)據(jù)分析方法論的評判的關鍵。
經(jīng)過幾個項目的經(jīng)歷,反思了一下在做這些項目時比較有效的方法和失妥的方法,總結了一套目前個人覺得可行的數(shù)據(jù)分析方法,此套數(shù)據(jù)分析方法只適用于數(shù)據(jù)庫—文件—數(shù)據(jù)庫或數(shù)據(jù)庫—數(shù)據(jù)庫的分析,對于接口式的集成(例如調(diào)用對方的webservice、EJB接口等)并不適用,在這樣的一套數(shù)據(jù)分析的方法中,為數(shù)據(jù)分析的步驟以及需要注意的問題事項提出了指導,編寫此blog以希望有同行的同學們多多交流。
2、數(shù)據(jù)分析方法論
此方法論中涉及的名詞的解釋:
目標數(shù)據(jù)源
指在數(shù)據(jù)集成中需要導入數(shù)據(jù)的數(shù)據(jù)源,此數(shù)據(jù)源可能是數(shù)據(jù)庫,也有可能是文件。
源數(shù)據(jù)源
指在數(shù)據(jù)集成中獲取數(shù)據(jù)的數(shù)據(jù)源,此數(shù)據(jù)源可能是數(shù)據(jù)庫,也有可能是文件。
字典代碼
在數(shù)據(jù)庫中以代碼的方式(如數(shù)字、英文字母等)來代替中文意思進行存儲,其中的這些代碼就稱為字典代碼。
2.1.步驟
2.1.1.分析目標數(shù)據(jù)源的數(shù)據(jù)結構
目標數(shù)據(jù)源既有可能是數(shù)據(jù)庫也有可能是文件,但無論是哪種,它都是有數(shù)據(jù)結構的,首先要做的就是分析目標數(shù)據(jù)源的數(shù)據(jù)結構,在分析目標數(shù)據(jù)源的數(shù)據(jù)結構時,要分析清楚的有:
表
目標數(shù)據(jù)源中需要交換的有哪些表,這些表的含義分別是什么。
字段
這些表中包含的字段、字段的類型以及長度。
字段含義
分析每個字段的含義,包括字段的中文含義、字段涉及到的字典代碼以及字段的規(guī)則(如業(yè)務規(guī)則、生成規(guī)則)。
在分析了上面所提及的表、字段、字段含義后,形成如下結構的文檔:
表名
字段 字段類型及長度 中文含義 涉及到的字典代碼 字段規(guī)則
id number(10) 主鍵流水號 — 流水號,通過表名_SEQ的Sequence來獲取
unitcode varchar2(19) 單位編碼 單位編碼字典 —
2.1.2. 分析目標數(shù)據(jù)源的表關系
在完成了第一步后,需要接著分析目標數(shù)據(jù)源的表關系,分析表關系最重要的在于分析各個表之間的關聯(lián)關系(例如一對一、一對多,通過這里可以分析出的為主鍵、外鍵的關聯(lián)關系),其次就是需要根據(jù)業(yè)務來分析其各個表之間的隱性關聯(lián),如只有當A表中的某個值為03時才關聯(lián)到B表。
在分析完畢目標數(shù)據(jù)源的表關系后,形成如下Rose圖:
2.1.3. 分析源數(shù)據(jù)源的數(shù)據(jù)結構
方法同2.1.1,分析的對象改變?yōu)樵磾?shù)據(jù)源,分析完畢后形成同2.1.1中的文檔。
2.1.4.分析源數(shù)據(jù)源的表關系
方法同2.1.2,分析的對象改變?yōu)樵磾?shù)據(jù)源,分析完畢后形成同2.1.2中的Rose圖。
2.1.5.根據(jù)目標數(shù)據(jù)源的表關系分析其和源數(shù)據(jù)源的表的對應關系
根據(jù)目標數(shù)據(jù)源的表關系,來分析其和源數(shù)據(jù)源表的對應關系,在這個步驟中需要分析清楚的是目標數(shù)據(jù)源的表的數(shù)據(jù)來源于源數(shù)據(jù)源的哪些表,怎么獲取到這些數(shù)據(jù),分析完畢后可形成校驗數(shù)據(jù)集成是否正確的一個標準,那就是目標數(shù)據(jù)源的表的數(shù)據(jù)量和其來源的源數(shù)據(jù)源的那些表的數(shù)據(jù)量應該是一致的,分析時仍然是根據(jù)目標表的業(yè)務含義去源數(shù)據(jù)源中的表中尋找具備相同含義的表,在分析的過程中可能會碰到如下幾種情況:
含義相同的表
這種情況通常是目標數(shù)據(jù)源和源數(shù)據(jù)源均為使用一張表存儲,含義相同的表通常都是一對一的數(shù)據(jù)關系,例如目標數(shù)據(jù)源中有一張表為常住人口基本信息,源數(shù)據(jù)源中有張常住人員基本信息,兩張表就可以對應上了,當然,有些時候并不一定是意義相同就一定相同,這需要從業(yè)務層面去判斷。
具備包含意義的表
這種情況通常是目標數(shù)據(jù)源為一張表,源數(shù)據(jù)源為多張表,這個時候就形成多對一的關系,例如目標數(shù)據(jù)源中有張表為物品表,源數(shù)據(jù)源中為手機、證券等幾張表,這個時候就需要將手機、證券這些表對應到物品表。
又或者可能會碰到這樣的現(xiàn)象,目標數(shù)據(jù)源為一張表,源數(shù)據(jù)源也是一張表,但源數(shù)據(jù)源的這張表的每行記錄包含了目標表的兩種類型的記錄,這種情況下就需要將源數(shù)據(jù)源的一行記錄拆分為兩條導入到目標表中,例如目標數(shù)據(jù)源有張表為遷入遷出表,其存儲方式為遷入和遷出都為單獨的記錄來存儲的,源數(shù)據(jù)源有張表也為遷入遷出表,但其存儲方式為遷入和遷出在同一條記錄,這個時候就要將源數(shù)據(jù)源的這張遷入遷出表的一行記錄拆分為兩條進行導入了。
被包含意義的表
和之上的具備包含意義的表相反。
根據(jù)業(yè)務的對應關系
這張是最為復雜的,例如可能會碰到這樣的現(xiàn)象,當源數(shù)據(jù)源的某張表的某個字段的值為多個的時候,就需要拆分為兩條記錄導入到目標表中。
綜合上面所述,目標數(shù)據(jù)源的表和源數(shù)據(jù)源的表可能會存在一對一、一對多、多對一、多對多、條件式的對應幾種關系,在分析完畢后形成如下的文檔:
2.1.6.根據(jù)表的對應關系分析字段的對應關系以及轉化規(guī)則
在對應了表的對應關系后,根據(jù)表的單一對應關系(如目標數(shù)據(jù)源的B表對應到了源數(shù)據(jù)源的B、C表,則需要分為B對應B以及B對應C兩個步驟來分析)來分析每個表中的字段的對應關系以及轉化規(guī)則了,對應的方法為:
先在對應的表中尋找相應的字段
如尋找不到則到相關的表中尋找相應的字段
如還是尋找不到則需要從業(yè)務含義方面去推測
從業(yè)務含義角度分析此字段是否需要合并多個字段或拆分字段,又或根據(jù)某種業(yè)務規(guī)則來生成這個字段的值。
在尋找到了相應的字段后,首先根據(jù)類型、長度來分析是否需要進行類型和長度的處理,之后需要分析該字段是否為通過關聯(lián)到其他表來獲取的,接著再分析此字段是否涉及到字典代碼,如涉及則需要對照兩邊的字典代碼是否一致,如不一致則需要形成兩邊的字典代碼的對應關系,最后分析該字段是否涉及業(yè)務含義,如涉及則需注明如何進行處理。
在分析完畢后,形成如下文檔:
2.2.需注意的問題
由于數(shù)據(jù)集成涉及的為系統(tǒng)中最為重要的基礎—數(shù)據(jù),那么在做數(shù)據(jù)集成時就特別需要仔細考慮不要對數(shù)據(jù)產(chǎn)生了破壞性的影響,這也是數(shù)據(jù)分析過程中需要慎重考慮的問題。
2.2.1.數(shù)據(jù)覆蓋/混亂的問題
在做數(shù)據(jù)分析時需要考慮,這樣集成數(shù)據(jù)后是否會將已存在的數(shù)據(jù)非法的覆蓋或造出混亂,出現(xiàn)這種問題通常都是由于主鍵的原因,這個在做數(shù)據(jù)分析時需要考慮。
2.2.2.制定錯誤出現(xiàn)時的彌補方案
在做數(shù)據(jù)分析時需要考慮在進行數(shù)據(jù)集成后可能會出現(xiàn)的錯誤,對于這些可能出現(xiàn)的錯誤需要制定相應的彌補方案,以避免數(shù)據(jù)的被破壞。
2.2.3.源數(shù)據(jù)源數(shù)據(jù)質量造成的問題的處理方案
需要考慮如源數(shù)據(jù)源本身的數(shù)據(jù)質量出現(xiàn)問題時,應如何處理或者如何避免。
2.2.4.業(yè)務專家的支持
在整個數(shù)據(jù)分析的過程中,可以看出業(yè)務專家起到了非常大的作用,可以說如果缺少業(yè)務專家的話,數(shù)據(jù)分析很可能會失敗,或需要走很多的彎路才能最后摸索出來,有一點可以肯定,在缺少業(yè)務專家的支持下整個數(shù)據(jù)分析的過程將會大大的延長,從這點可以看出,在進行數(shù)據(jù)分析時要盡量獲取到業(yè)務專家的支持。
3、總結
如上的方法論對數(shù)據(jù)分析的過程和避免問題的方法做出了一定的描述,在實際的進行數(shù)據(jù)分析時,最重要的還是負責數(shù)據(jù)分析的人對于系統(tǒng)的理解,有過系統(tǒng)設計經(jīng)驗的人來做數(shù)據(jù)分析成功的幾率會高很多,有些非常專業(yè)的系統(tǒng)的話還得依賴有相應的設計經(jīng)驗的人才做才能做得了,類如流程系統(tǒng)的數(shù)據(jù)集成。
在一個數(shù)據(jù)分析過程中,已經(jīng)可以制定出判斷數(shù)據(jù)集成是否成功的標準了,這也可以列為TDD的入口條件,J。
方法論始終都還是理論,我本來就不是一個那么講理論的人,但也不否認理論對于實際是有很好的指導作用的,避免在實踐過程中走過多的彎路,能做到理論結合實踐那是最好的,理論指導實踐,實踐改進理論。
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
SQL Server 中 CONVERT 函數(shù)的日期轉換:從基礎用法到實戰(zhàn)優(yōu)化 在 SQL Server 的數(shù)據(jù)處理中,日期格式轉換是高頻需求 —— 無論 ...
2025-09-18MySQL 大表拆分與關聯(lián)查詢效率:打破 “拆分必慢” 的認知誤區(qū) 在 MySQL 數(shù)據(jù)庫管理中,“大表” 始終是性能優(yōu)化繞不開的話題。 ...
2025-09-18CDA 數(shù)據(jù)分析師:表結構數(shù)據(jù) “獲取 - 加工 - 使用” 全流程的賦能者 表結構數(shù)據(jù)(如數(shù)據(jù)庫表、Excel 表、CSV 文件)是企業(yè)數(shù)字 ...
2025-09-18DSGE 模型中的 Et:理性預期算子的內(nèi)涵、作用與應用解析 動態(tài)隨機一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明確:TIF 中的地名有哪兩種存在形式? 在開始提取前,需先判斷 TIF 文件的類型 —— ...
2025-09-17CDA 數(shù)據(jù)分析師:解鎖表結構數(shù)據(jù)特征價值的專業(yè)核心 表結構數(shù)據(jù)(以 “行 - 列” 規(guī)范存儲的結構化數(shù)據(jù),如數(shù)據(jù)庫表、Excel 表、 ...
2025-09-17Excel 導入數(shù)據(jù)含缺失值?詳解 dropna 函數(shù)的功能與實戰(zhàn)應用 在用 Python(如 pandas 庫)處理 Excel 數(shù)據(jù)時,“缺失值” 是高頻 ...
2025-09-16深入解析卡方檢驗與 t 檢驗:差異、適用場景與實踐應用 在數(shù)據(jù)分析與統(tǒng)計學領域,假設檢驗是驗證研究假設、判斷數(shù)據(jù)差異是否 “ ...
2025-09-16CDA 數(shù)據(jù)分析師:掌控表格結構數(shù)據(jù)全功能周期的專業(yè)操盤手 表格結構數(shù)據(jù)(以 “行 - 列” 存儲的結構化數(shù)據(jù),如 Excel 表、數(shù)據(jù) ...
2025-09-16MySQL 執(zhí)行計劃中 rows 數(shù)量的準確性解析:原理、影響因素與優(yōu)化 在 MySQL SQL 調(diào)優(yōu)中,EXPLAIN執(zhí)行計劃是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 對象的 text 與 content:區(qū)別、場景與實踐指南 在 Python 進行 HTTP 網(wǎng)絡請求開發(fā)時(如使用requests ...
2025-09-15CDA 數(shù)據(jù)分析師:激活表格結構數(shù)據(jù)價值的核心操盤手 表格結構數(shù)據(jù)(如 Excel 表格、數(shù)據(jù)庫表)是企業(yè)最基礎、最核心的數(shù)據(jù)形態(tài) ...
2025-09-15Python HTTP 請求工具對比:urllib.request 與 requests 的核心差異與選擇指南 在 Python 處理 HTTP 請求(如接口調(diào)用、數(shù)據(jù)爬取 ...
2025-09-12解決 pd.read_csv 讀取長浮點數(shù)據(jù)的科學計數(shù)法問題 為幫助 Python 數(shù)據(jù)從業(yè)者解決pd.read_csv讀取長浮點數(shù)據(jù)時的科學計數(shù)法問題 ...
2025-09-12CDA 數(shù)據(jù)分析師:業(yè)務數(shù)據(jù)分析步驟的落地者與價值優(yōu)化者 業(yè)務數(shù)據(jù)分析是企業(yè)解決日常運營問題、提升執(zhí)行效率的核心手段,其價值 ...
2025-09-12用 SQL 驗證業(yè)務邏輯:從規(guī)則拆解到數(shù)據(jù)把關的實戰(zhàn)指南 在業(yè)務系統(tǒng)落地過程中,“業(yè)務邏輯” 是連接 “需求設計” 與 “用戶體驗 ...
2025-09-11塔吉特百貨孕婦營銷案例:數(shù)據(jù)驅動下的精準零售革命與啟示 在零售行業(yè) “流量紅利見頂” 的當下,精準營銷成為企業(yè)突圍的核心方 ...
2025-09-11CDA 數(shù)據(jù)分析師與戰(zhàn)略 / 業(yè)務數(shù)據(jù)分析:概念辨析與協(xié)同價值 在數(shù)據(jù)驅動決策的體系中,“戰(zhàn)略數(shù)據(jù)分析”“業(yè)務數(shù)據(jù)分析” 是企業(yè) ...
2025-09-11Excel 數(shù)據(jù)聚類分析:從操作實踐到業(yè)務價值挖掘 在數(shù)據(jù)分析場景中,聚類分析作為 “無監(jiān)督分組” 的核心工具,能從雜亂數(shù)據(jù)中挖 ...
2025-09-10統(tǒng)計模型的核心目的:從數(shù)據(jù)解讀到?jīng)Q策支撐的價值導向 統(tǒng)計模型作為數(shù)據(jù)分析的核心工具,并非簡單的 “公式堆砌”,而是圍繞特定 ...
2025-09-10