第6期:我們需要怎樣的OLAP?
被狹義化的OLAP
OLAP是商業(yè)智能應用中重要的組成部分,這個詞從字面上理解是在線分析的意思,也就是由用戶,特別是業(yè)務人員,面對數(shù)據(jù)進行各種分析操作。
但是,現(xiàn)在的OLAP概念被嚴重狹義化了。說到OLAP,基本上僅指多維分析,也就是針對一個事先建設好的數(shù)據(jù)立方體,按指定維度層次進行匯總并呈現(xiàn)成表格或圖形,再輔以鉆取、聚合、旋轉(zhuǎn)、切片等操作以變換維度層次及匯總范圍。多維分析的基本思路認為,直接觀察大范圍統(tǒng)計值過于粗略,無法精確定位問題,需要剝繭抽絲似地對可能有問題的大范圍統(tǒng)計值一步步鉆取到更細層次,以達到分析目的。
更廣義的OLAP過程
多維分析就是在線分析的全部嗎?
我們來考察這樣一種數(shù)據(jù)分析過程。
任何一個行業(yè)中有多年工作經(jīng)驗的從業(yè)人員一般都會對自己從事的業(yè)務產(chǎn)生一些猜測,如:
股票分析師會猜測滿足某種條件的股票容易上漲;
公司經(jīng)理對哪些銷售員擅長對付難度大的客戶心里會有數(shù);
班主任也大概知道偏科同學的成績都有什么特征;
…
這些猜測是預測的基礎。業(yè)務系統(tǒng)運行一段時間后會積累出大量數(shù)據(jù),這些猜測就很可能被這些積累的數(shù)據(jù)驗證,證實了則可作為一種規(guī)律性的結(jié)論,用于指導下一步的動作,證偽了則再重新猜測。
這才是在線分析應該做的事情!基本的動作就是猜測和驗證,其目的是從歷史數(shù)據(jù)中找到規(guī)律或支撐某些結(jié)論的論據(jù)。而在線分析軟件要做的事情,就是幫助業(yè)務人員針對數(shù)據(jù)去驗證猜測。
這里需要注意的是,這些猜測都是由有經(jīng)驗的業(yè)務人員做出的,而不是軟件系統(tǒng)!之所以需要在線,是由于許多猜測都是業(yè)務人員看到了某個中間結(jié)果后臨時想出來的。不可能也不需要事先設計端到端的完整路徑,也就是無法建模。而且由于其臨時性,業(yè)務人員在驗證猜測時也無法借助技術人員的能力。
技術上,就是需要讓業(yè)務人員有能力對數(shù)據(jù)進行靈活交互式的查詢和計算。比如結(jié)合上面舉的例子,用戶要完成的計算可能是這樣的:
這個月內(nèi)連漲3天的股票,第4天還繼續(xù)上漲的比率有多大?
哪些半年不出單的客戶在更換了銷售人員后半年就出單了?
語文和數(shù)學成績都在前10名的學生,英語成績排名是怎樣的?
…
多維分析的局限
顯然,上述計算都可以由歷史數(shù)據(jù)計算出來,但是,用多維分析技術能實現(xiàn)嗎?
恐怕不能!
多維分析在技術上有兩個不足:一是立方體要事先準備,業(yè)務用戶沒有臨時設計和改造立方體的能力,一旦有新的分析需求則必須重建立方體;二是立方體上可實施的分析動作單調(diào),只有鉆取、聚合、切片、旋轉(zhuǎn)等少數(shù)幾種,難以完成多步驟的復雜計算行為。近年來流行的敏捷BI產(chǎn)品都有多維分析功能,在操作的流暢性和界面的炫麗度都較早期OLAP產(chǎn)品有較大的提升,但本質(zhì)功能并沒有變,該不能算的還是不能算。
多維分析確實能夠得到一些有益的信息,比如經(jīng)常舉的例子,成本過高時可以精確定位出到底是哪個部門和業(yè)務造成的。但是,多維分析卻得不到前述例子中我們希望從數(shù)據(jù)中獲得的規(guī)律性結(jié)論,而畢竟有了規(guī)律性結(jié)論才能預測并指導工作。從這個意義上講,把在線分析僅僅理解成多維分析是不完整的。
我們需要怎樣的OLAP?
用于規(guī)律發(fā)現(xiàn)(更確切地說是規(guī)律驗證)的OLAP軟件應當是什么樣的呢?
前面說過,從技術上講,規(guī)律驗證可以看成是一種針對數(shù)據(jù)的查詢和計算過程,其關鍵點在于這種過程可以由業(yè)務人員自由定義,無須技術人員參與。結(jié)合當前的應用環(huán)境,我們認為這種OLAP應當具體這樣兩種功能:
1. 關聯(lián)查詢
分析的***步是獲取數(shù)據(jù)。許多企業(yè)都有建設好的數(shù)據(jù)倉庫,可由業(yè)務人員自行查詢。這里強調(diào)關聯(lián)的意義在于,絕大多數(shù)軟件都不能很好地讓業(yè)務人員實現(xiàn)帶有關聯(lián)的查詢需求,必須事先由技術人員建模消除關聯(lián)(類似多維分析的立方體建設),而業(yè)務人員的需求常常超過事先建模的范圍,又必須求助于技術人員,這樣就使在線分析的基礎不存在了。
2. 交互計算
有了數(shù)據(jù)后就是計算。這種計算的特點在于要根據(jù)上一步的結(jié)果臨時決定下一步動作,不能事先設計程序,所以必須是交互式的,很象計算器的模式。另外,這里需要計算的數(shù)據(jù)都是批量的結(jié)構(gòu)化數(shù)據(jù),而非簡單的數(shù)值,區(qū)別于普通數(shù)值計算器,可以把這個功能形象地稱為數(shù)據(jù)計算器。Excel在一定程度上就擁有這種能力,使得它事實上成為應用最廣泛的桌面BI工具。不過Excel對于多層次數(shù)據(jù)和有規(guī)則操作支持還不夠好,難以完成前述例子中的計算過程。
那么,該如何妥善地提供這兩個功能呢?這不是一兩句話能解釋清楚的,需要仔細分析現(xiàn)有技術手段的細節(jié),找出問題所在后加以改進,我們將在后續(xù)文章中會陸續(xù)涉及。
















 
 
 








 
 
 
 