前面的文章我們講了一種簡易的數倉分層設計,然後聊了聊在數倉 dw 層可以使用的維度建模方法,現在我們有了一堆建模完成的資料,但實際上這些資料只是進行了從 obs 層的「收集」走到了 dw 的「整理」,也就是我們大部分的資料還是業務系統已有的內容,並沒有讓資料產生更多的價值,讓我們來繼續以超市為例在看看資料的背後隱藏了什麼。
指標以一定的固定的規則分析得到的資料,用以衡量指定的目標。那繼續我們之前的例子:
2020.03.15 小明買了 10 個蘋果,共計 3 斤,5.7 元 / 斤;3 斤橘子,4.00 元 / 斤;2 桶 1.5 l 的 xx 牌礦泉水,3.00 元 / 桶;一袋公尺 30 元為了進行指標的說明,我們擴充了一下例子,上面就是我們當天的兩個訂單了,315 的日子**還算靠譜可惜只有兩個人來買東西2020.03.15 小紅買了一包約 3 斤的菠菜 共 10 元;5 斤土豆 2.0 元 / 斤,2 斤橘子,4.00 元 / 斤
讓我們的指標開始建立,第乙個指標:
根據複雜的業務資料我們可以構建各種各樣的指標,並把他們的計算結果s存到 table 中以供直接使用,這樣複雜的計算過程就在指標這一層完成了,後續的無論是報表還是單獨檢視某一指標都可以直接拿來就用
看一下上面一小節提到的訂單總價指標、日銷售額指標,這兩個實際上是有層次關係的,我們的日銷售額完全可以直接使用訂單總價指標一天的**直接求和得到,就不需要對訂單裡每個條目完整計算一遍了。這樣就構成了指標之間的依賴關係 / 層次關係。
指標數量繁多,但總的來說可以分為兩類:基礎指標、計算指標,對於訂單總價可以算是基礎指標,對於日銷售額可以算是計算指標。
除此以外對於指標的分層可以以 原子指標、衍生指標、復合指標三大型別進行區分
由業務、業務過程、度量值構成,比如:
度量:使用者數、裝置數、次數、時長、金額……
由原子指標 + 業務規則、修飾詞構成,比如:
業務規則:新增、回訪、留存、流失……
由衍生指標 + 計算規則構成,比如:
計算規則:同比增長、環比增長……
我們通過逐層的進行業務梳理、規則抽取最終得到一組層次分明、可復用性強的指標集
如果不幸的事情發生了:我們超市的系統設計成了乙個訂單可以重複的結賬退賬,使用者在結賬後發現商品過期了這個時候選擇退賬,然後主管來輸入密碼又可以讓使用者在乙個訂單裡更換乙個未過期的批次較新的商品……
這樣按照緩慢變化維來說我們對於這個訂單號會有最少兩個結賬狀態記錄,難道我們要每次使用到這個維度的時候都要秀一波對程式猿對時間的敏感性?
這個時候如果我們大部分指標更關注乙個狀態最後一次的發生時間時,我們可以針對這個維度建立相應的指標:最近的結賬日期指標、最近的退賬日期指標、最近的訂單狀態、結賬次數、退賬次數……
這樣我們通過這樣的乙個指標就把我們比較關注的資訊都計算出來並存到了這個 / 這些指標表中,後續的指標其他指標計算就可以放心使用了
報表實際上是明細資訊與指標值的集合,我們的報表往往具有:fact 表的一些明細字段、多個指標表的指標值。
這個時候我們可以通過 etl 工具將多個表的資料 join 到一起,並輸出最終的報表 table,以供後端服務僅通過一次並不複雜的查詢來拿到資料,以保證報表資料獲取的高效性。
當然我們也可以通過資料庫的檢視來完成上面的 join 操作,此時 etl 工具只需要做 view 到 table 的拷貝操作,可以降低 etl 操作量,並降低對單一 etl 工具的依賴。
讓我們來聊聊實現的細節,僅為個人經驗不一定適用於所有專案:
前面提到 etl 是什麼?怎麼做到增量計算?事實、維度、指標有沒有設計思路?篇幅有限請見後續文章
報表自動化 商業智慧型背後的秘密
首先先說說商業智慧型與報表自動化。報表自動化呢?是指將傳統的人工整理報表 excel 的過程實現自動化,比如統計出當月銷售總額,自動化的報表可以自動根據當月的所有銷售訂單記錄自行計算出這個當月銷售總額資訊,而不需要像傳統方式手動整理 統計資料。商業智慧型 報表自動化,可以說報表自動化是商業智慧型的乙...
utc時間怎麼算 報表自動化 抓住時間流逝的瞬間
報表自動化 抓住時間流逝的瞬間 www.coologic.cn 前面 報表自動化 沒有壓力的維度建模 以超市的乙個訂單為例簡單講述了維度建模中事實表與維度表的概念,這一篇主要講一講維度裡面的時間維度這個特殊的資料內容。為什麼說時間維度特殊呢?比如說商品的分類 蔬菜 水果 飲品 小家電 很多種分類,但...
談辦公自動化裡的報表統計3 交叉統計
僅僅會做分組統計還是不能滿足需求,某個客戶通過工作流生成銷售報表或財務報表時,如果乙個地區有n種產品需要統計分析,做簡單的彙總肯定難以滿足需求,那怎麼辦。常規的辦公自動化軟體就很難做到,通常這樣的需求只能通過匯出excel報表,再到excel裡加以統計,但易能oa整合了強大的報表工具,只需要用報表工...