您在構建數據倉庫之前,首先需要確定構建數據倉庫的目標與需求,并進行全面的業務調研。您需要了解真實的業務需求,以及確定數據倉庫要解決的問題。
業務調研
充分的業務調研和需求分析是數據倉庫建設的基石,直接決定數據倉庫能否建設成功。在數倉建設項目啟動前,您需要請相關的業務人員介紹具體的業務,以便明確各個團隊的分析員和運營人員的需求,沉淀出相關文檔。
您可以通過調查表和訪談等形式詳細了解以下信息:
用戶的組織架構和分工界面。
例如,用戶可能分為數據分析、運營和維護部門人員,各個部門對數據倉庫的需求不同,您需要對不同部門分別進行調研。
用戶的整體業務架構,各個業務板塊之間的聯系和信息流動的流程。
您需要梳理出整體的業務數據框架。
各個已有的業務板塊的主要功能及獲取的數據。
本教程中以A公司的電商業務為例,梳理出業務數據框架如下圖所示。A公司的電商業務板塊分為招商、供應鏈、營銷和服務四個模塊,每個板塊的需求和數據應用都不同。您在構建數據倉庫之前,首先需要明確構建數據倉庫的業務板塊和需要具體滿足的業務需求。
此外,您還需要進一步了解各業務板塊中已有的數據功能模塊。數據功能模塊通常和業務板塊緊耦合,對應一個或多個表,可以作為構建數據倉庫的數據源。下表展現的是一個營銷業務板塊的數據功能模塊。
數據功能模塊 | A公司電商營銷管理 |
商品管理 | Y |
用戶管理 | Y |
購買流程 | Y |
交易訂單 | Y |
用戶反饋 | Y |
Y代表包含該數據功能模塊,N代表不包含。
本教程中,假設用戶是電商營銷部門的營銷數據分析師。數據需求為最近一天某個類目(例如,廚具)商品在各省的銷售總額、該類目Top10銷售額商品名稱和各省客戶購買力分布(人均消費額)等,用于營銷分析。最終的業務需求是通過營銷分析完成該類目的精準營銷,提升銷售總額。通過業務調研,我們將著力分析營銷業務板塊的交易訂單數據功能模塊。
需求分析
在未考慮數據分析師和業務運營人員的數據需求的情況下,單純根據業務調研結果構建的數據倉庫可用性差。完成業務調研后,您需要進一步收集數據使用者的需求,進而對需求進行深度的思考和分析。
需求分析的途徑有兩種:
根據與分析師和業務運營人員的溝通獲知需求。
對報表系統中現有的報表進行研究分析。
在需求分析階段,您需要沉淀出業務分析或報表中的指標,以及指標的定義和粒度。粒度可以作為維度的輸入。建議您思考下列問題,對后續的數據建模將有巨大的幫助:
業務數據是根據什么(維度、粒度)匯總的,衡量標準是什么?例如,成交量是維度,訂單數是成交量的度量。
明細數據層和匯總數據層應該如何設計?公共維度層該如何設計?是否有公共的指標?
數據是否需要冗余或沉淀到匯總數據層中?
舉例:數據分析師需要了解A公司電商業務中廚具類目的成交金額。當獲知這個需求后,您需要分析:根據什么(維度)匯總、匯總什么(度量)以及匯總的范圍多大(粒度)。例如,類目是維度,金額是度量,范圍是全表。此外,還需要思考明細數據和匯總數據應該如何設計、是否是公共層的報表及數據是否需要沉淀到匯總表中等因素。
需求調研的分析產出通常是記錄原子與派生指標的文檔。