多維分析的本質計算是什麼?能做什麼又不能做什麼?
多維分析主要面向業務使用者提供資料查詢分析服務,由於業務人員不懂 SQL,也無法完成多表關聯(有意義的查詢經常是基於多表的),所以在多維分析建模階段需要將多表轉換成單表,也就是 CUBE。這樣使用者就可以很方便地透過基於一個結果集(CUBE)進行拖拽查詢,從不同的角度(維度)觀察資料(測度)。
在多維分析中主要的計算就是按照某一個或一些維度彙總測度,如按地區彙總銷售額,按年和產品彙總銷量等。從運算角度來看,多維分析的本質計算就是:
基於一個表的分組彙總
如果用 SQL 來表達,多維分析的本質就是:
SELECT D,…, SUM(M), … FROM C WHERE D’=d’ AND … GROUP BY D,…
即對資料立方體按某些維度分組彙總某些測度。其中 C 是資料立方體,D,…是選出維度,M,…是聚合測度,聚合函式也可以不是 SUM。D’是切片維度,切塊時條件為 D IN (d,…),WHERE 中還可以增加針對某些測度的條件,一般也就是選出某個區間內的值。
針對一個結果集(CUBE),多維分析可以進行切片 / 切塊、旋轉、鑽取 / 上卷等操作。
1. 切片
切片是指標對 CUBE,選擇維中固定值進行分析,比如固定時間維度分析地區和產品的銷量情況。
2. 旋轉
旋轉也稱行列變換,是指維度從行到列或者從列到行,旋轉是為了滿足使用者觀察資料的不同習慣。
3. 鑽取
鑽取是從粗粒度到細粒度觀察資料的過程,比如我們發現某個彙總值出現異常,就可以透過鑽取檢視明細資料,找到異常原因。鑽取可以從彙總到明細,從上級到下級…
從多維分析的本質及其操作來看,多維分析只能完成簡單的分組彙總、過濾計算,這在實際業務中還遠遠不夠。常見的固定報表業務,一些報表很難透過簡單的分組聚合來實現,經常要編寫上千行的 SQL 或儲存過程,而且固定報表的表格樣式可能很複雜,這些都是多維分析無法實現的。
這種報表資料處理邏輯複雜,每個格子可能對應不同的資料來源,計算邏輯也不一樣,在樣式方面則會出現表頭混亂,大格套小格,動態區域和靜態區域混合的情況。
這裡列舉了複雜報表的特點: 這些型別的報表都無法透過多維分析拖拽出來。
事實上,固定報表和自助報表(多維分析)面向的需求場景很不一樣,而在 BI 系統中往往會包含三部分內容,固定報表、多維分析和視覺化,其中視覺化可以由前兩部分實現,但固定報表和多維分析往往是不可或缺的,二者相互配合,優勢互補。認清了多維分析的能量圈,才能在 BI 系統建設中有的放矢,避免踩坑。
對多維分析和 BI 技術感興趣的同學還可以搜尋“乾學院”,上面有整套的免費“商業智慧”技術課程, 或者直接訪問下面連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69957599/viewspace-2712469/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 央行:區塊鏈能做什麼、不能做什麼?區塊鏈
- Nginx能做什麼Nginx
- 面試官問:你知道Redis能做什麼?不能做什麼?面試Redis
- 央行工作論文:區塊鏈能做什麼、不能做什麼?區塊鏈
- 學python能做什麼?Python
- Redis | 001能做什麼?Redis
- 大資料運維能做什麼?有什麼工作職責?大資料運維
- Java都能做什麼?從事什麼工作?Java
- Mesos Marathon能做什麼?理念是什麼?(轉)
- 學習UI設計能做什麼UI
- go語言能做什麼Go
- Linux運維有多難學?學完能做什麼工作?Linux運維
- 學好Java都能做什麼?從事什麼工作?Java
- 什麼是大資料?大資料能做什麼?大資料
- 模切ERP到底能做什麼?
- 智慧CRM系統能做什麼?
- Flutter不能做什麼:侷限性Flutter
- 每天那麼多工作,我為什麼能做到 "不忘事" ?
- 大資料能做什麼,為什麼學大資料大資料
- 通俗易懂,什麼是.NET Core,.NET Core能做什麼
- 作為DevOps角色能做些什麼?dev
- Wi-Fi 6到底能做什麼?
- gRPC 攔截器能做些什麼?RPC
- Java培訓完能做什麼工作Java
- 全面瞭解 Nginx 到底能做什麼Nginx
- 全面瞭解Nginx到底能做什麼Nginx
- 機器學習不能做什麼?機器學習
- Java能做什麼?學完Java可以從事什麼工作呢?Java
- 想入行it能做什麼?程式設計?新媒體?程式設計
- 隱私計算是什麼
- Python到底能做什麼?它的優點在哪?Python
- 當催收遇上疫情,AI能做些什麼?AI
- Zoho 企業郵箱都能做什麼
- 談起音視訊,前端能做些什麼前端
- 邊緣計算是什麼以及為什麼需要它
- Python能做什麼事?為什麼人工智慧一定要學Python?Python人工智慧
- 學完UI設計之後都能做什麼工作UI
- Mac中的Automator小機器人能做什麼Mac機器人