你認為BI不需要建模,那就大錯特錯了
BI 是一種數(shù)據(jù)類的技術(shù)解決方案,將許多來自不同企業(yè)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)提取有分析價值的數(shù)據(jù)進行清洗、轉(zhuǎn)換和加載,就是抽取Extraction、轉(zhuǎn)換 Transformation、加載Loading 的ETL過程,最終合并到一個數(shù)據(jù)倉庫中,按照一定的建模方式例如Inmon 的3NF 建模、Kimball 的維度建?;蛘邇烧叨加械幕旌鲜郊軜?gòu)模型,最終在這個基礎(chǔ)上再利用合適的分析展現(xiàn)工具來形成各種可視化的分析報表為企業(yè)的管理決策層提供數(shù)據(jù)決策支撐。
?

首先,我們需要理解下什么是建模。然后再來看下建模和自助分析的關(guān)系,他們之間不是一種對立的關(guān)系,需要理解下BI的底層邏輯。
建模,就是建立模型,為了理解事物而對事物做出的一種抽象。建立系統(tǒng)模型的過程,又稱模型化。建模是BI分析的重要手段和前提,凡是用模型描述系統(tǒng)的因果關(guān)系或相互關(guān)系的過程都屬于建模。
不管是什么樣的BI工具產(chǎn)品,在做自助分析、可視化頁面設(shè)計的時候大家一定能看到幾個核心的元素:維度Dimension和度量Measure。維度就是看數(shù)據(jù)的角度,被看的數(shù)據(jù)就是度量Measure。比如從產(chǎn)品角度分析銷售收入占比,從時間角度看銷售收入的趨勢,在這個描述中,產(chǎn)品和時間就是分析的維度,銷售收入就是被看的、被分析的數(shù)據(jù),就是度量Measure,我們有的時候也叫KPI或者指標。
?

在BI分析中,只要通過維度或者維度的組合來分析指標的過程,背后本身就構(gòu)建了一個分析模型,這就是一種把復(fù)雜業(yè)務(wù)抽象到一個分析模型的過程。
所以,談到BI必然就會用到建模,建模沒有像大家想象的那么神秘。
拖拉拽自助分析的本質(zhì)就是對分析模型的運用。在自助分析過程中,會首先選擇分析的維度,再選擇相應(yīng)的度量或者指標,通過拖拉拽的方式就實現(xiàn)了可視化,數(shù)據(jù)就出來了。它的邏輯就是根據(jù)選擇的維度和指標,自動的構(gòu)成了一種分析模型,這個分析模型的背后就會產(chǎn)生一條聚合查詢性質(zhì)的SQL語句發(fā)送到底層數(shù)據(jù)庫引擎去做數(shù)據(jù)查詢,把數(shù)據(jù)聚合算出來,把結(jié)果呈現(xiàn)到可視化頁面。
通過前端可視化BI分析工具選擇幾張數(shù)據(jù)表進行數(shù)據(jù)關(guān)聯(lián),形成了一個分析模型,在這個分析模型中的維度和度量自動的羅列到分析面板供自助分析人員來使用,這個叫做BI的前端建模。通過數(shù)據(jù)倉庫提前把一些基礎(chǔ)的分析模型建好,前端BI工具來直接引用成熟的維度和分析指標,這個是把分析模型后置到底層數(shù)據(jù)架構(gòu)上來解決,這個叫做后端建模。本質(zhì)上都是一樣的,都是構(gòu)建分析模型的過程。只是一個前置到業(yè)務(wù)人員自己處理模型、一個后置到數(shù)據(jù)倉庫由BI開發(fā)人員來處理。后置的主要目的除了公共指標下沉,還解決了指標爆炸的問題。
?

所以,建模在BI分析中本身就是維度和指標的組合,這個過程沒有什么很特殊的。只是大家一想到自助分析,就不應(yīng)該通過預(yù)設(shè)模型來限制模型中維度和指標的選擇,這個理解就是錯誤的。不管什么樣的模型都可以理解為一種預(yù)設(shè),比如像一張大寬表,它的維度和指標在大寬表中就是固定的,只是維度列多一些,指標多一些,給了用戶更多的一種組合維度和指標的可能,并不是說就沒有模型的概念。
很多BI廠商不是不知道這個道理,那為什么還要這么去講呢?因為要給用戶一種感覺,就是我們的BI產(chǎn)品很靈活,想怎么分析就怎么分析,可以滿足任意的分析場景,所以要證明我們自己的產(chǎn)品比別人的更強大。但是只要大家認真想一想,BI真的能做到想怎么分析就怎么分析,真正的隨心所欲的自由分析嗎?
自由并不是隨心所欲,無邊際的。所有的自由都是有限度的,一旦你所追求的自由,超出了限度,自由就勢必要被約束起來,只有有限度的自由才是真的自由。
?