首先,要搞清楚什么是“數(shù)據(jù)模型”?
現(xiàn)實(shí)世界中的事物要讓計(jì)算機(jī)進(jìn)行管理,必須通過(guò)“數(shù)據(jù)模型”對(duì)其進(jìn)行抽象、模擬,然后再存放在數(shù)據(jù)庫(kù)系統(tǒng)里面。
數(shù)據(jù)模型有不同的建模方法,最常見的就是“范式建?!薄I(yè)務(wù)數(shù)據(jù)庫(kù)、數(shù)據(jù)倉(cāng)庫(kù)通常都會(huì)采用這種建模方法。
但是,面向數(shù)據(jù)分析的數(shù)據(jù)集市一般會(huì)采用“多維建?!薄?/p>
這也是源于日常數(shù)據(jù)分析的場(chǎng)景。
例如,一個(gè)企業(yè)在考慮產(chǎn)品的銷售情況時(shí),通常從時(shí)間、地區(qū)和產(chǎn)品的不同角度來(lái)深入觀察產(chǎn)品的訂單數(shù)、銷售金額、同環(huán)比增長(zhǎng)。
從這個(gè)例子中,可以抽象出兩部分的內(nèi)容:維度和度量。
維度有時(shí)間、地區(qū)、產(chǎn)品,是觀察數(shù)據(jù)的一種角度。
度量有訂單數(shù)、銷售金額、同環(huán)比增長(zhǎng),是數(shù)據(jù)聚合運(yùn)算的結(jié)果。
這種以維度和度量來(lái)組織數(shù)據(jù)的方法,叫做“多維模型”,包括維度表和事實(shí)表。
維度表儲(chǔ)存維度的描述,信息比較固定,且數(shù)據(jù)量小。
事實(shí)表儲(chǔ)存維度和度量,度量通常是數(shù)值類型,且記錄數(shù)會(huì)不斷增加。
數(shù)據(jù)集市是用來(lái)做數(shù)據(jù)分析的,采用“多維建模”的方法,再合適不過(guò)了。
一、數(shù)據(jù)模型的多維建模
雖然數(shù)據(jù)集市已經(jīng)做好多維建模,但是需要專門的數(shù)據(jù)人員來(lái)設(shè)計(jì),對(duì)于整個(gè)BI系統(tǒng)的開發(fā)來(lái)說(shuō),敏捷性和靈活性都不夠。
如果BI產(chǎn)品把“多維建模”的能力也整合進(jìn)來(lái),BI技術(shù)人員可以按照需求隨時(shí)進(jìn)行可視化建模,效率將得到極大提升。同時(shí),通過(guò)產(chǎn)品構(gòu)建的多維模型,可以和上層應(yīng)用做更好的協(xié)同,產(chǎn)品功能將得到全面增強(qiáng)。
這就是Smartbi V10實(shí)現(xiàn)多維建模的初衷。
Smartbi V10的多維建模支持星型模型、雪花模型、星座模型等多種模型:
例如,一家零售企業(yè)要看全國(guó)商店的盈利明細(xì),還有各城市“每平盈利”排行榜以及分布。
在Smartbi V10數(shù)據(jù)模型中,把相關(guān)的事實(shí)表(銷售、商店)、維度表(產(chǎn)品類別、產(chǎn)品信息)用鼠標(biāo)拖進(jìn)來(lái),并根據(jù)表之間的關(guān)系(多對(duì)一、一對(duì)多、內(nèi)連接、外連接)做好關(guān)聯(lián):
在“度量”區(qū)域通過(guò)簡(jiǎn)單操作生成各種指標(biāo):
然后在“自助儀表盤”里面基于這個(gè)數(shù)據(jù)模型,即可快速生成以下儀表盤:
二、數(shù)據(jù)模型的多種查詢類型
數(shù)據(jù)模型需要解決一個(gè)關(guān)鍵的問(wèn)題:源數(shù)據(jù)怎么取?
數(shù)據(jù)的來(lái)源多種多樣,在Smartbi V10之前版本中也存在多種數(shù)據(jù)集,包括SQL、存儲(chǔ)過(guò)程、即席查詢、Excel文件和JavaScript腳本等。而在Smartbi V10中,只有“數(shù)據(jù)模型”一個(gè)入口,可以查詢各種類型的數(shù)據(jù),并且支持跨庫(kù)數(shù)據(jù)整合:
查詢的多樣化,可以讓數(shù)據(jù)模型的構(gòu)建更加靈活。
例如,要統(tǒng)計(jì)銀行各營(yíng)業(yè)部,近5天購(gòu)買金融產(chǎn)品金額超過(guò)1萬(wàn)的客戶數(shù),這里涉及到二次匯總的問(wèn)題。在Smartbi V10數(shù)據(jù)模型里面,用“即席查詢”把滿足條件的客戶先查詢出來(lái):
然后對(duì)查詢出來(lái)的結(jié)果(事實(shí)表)創(chuàng)建“客戶數(shù)”的度量即可:
多種查詢類型也可以聯(lián)合使用。例如,一名業(yè)務(wù)員需要分析銷售數(shù)據(jù),但是有關(guān)數(shù)據(jù)都放在不同的地方,部分?jǐn)?shù)據(jù)是放在個(gè)人電腦的Excel上:
這個(gè)時(shí)候怎么辦呢?下面做了演示:
三、強(qiáng)大的計(jì)算能力
Smartbi V10數(shù)據(jù)模型具有強(qiáng)大的計(jì)算能力,體現(xiàn)在兩個(gè)方面:ETL數(shù)據(jù)處理和多維計(jì)算。
在建模過(guò)程中,融合ETL的強(qiáng)大數(shù)據(jù)處理能力對(duì)源數(shù)據(jù)進(jìn)行預(yù)處理,包括篩選、去重、拆分列等。數(shù)據(jù)模型里面的表、SQL、存儲(chǔ)過(guò)程、即席查詢等都可以直接轉(zhuǎn)ETL高級(jí)查詢,從而實(shí)現(xiàn)復(fù)雜數(shù)據(jù)場(chǎng)景的處理,并且解決大表關(guān)聯(lián)的問(wèn)題,避免系統(tǒng)崩潰。
例如,訂單表里“訂單編號(hào)”字段存在重復(fù)的值,我們可以在查詢訂單表的ETL流程中,利用“去除重復(fù)值”的功能節(jié)點(diǎn)進(jìn)行去重,也可以拆分字段:
Smartbi V10數(shù)據(jù)模型同時(shí)具有多維復(fù)雜計(jì)算能力,支持自定義成員和自定義命名集。
自定義成員指基于原有維度成員的基礎(chǔ)上創(chuàng)建新的維度成員,成員可以是單個(gè)對(duì)象,也可以是成員的集合。
例如要新建一個(gè)“一線城市”的維度,在“新建計(jì)算成員”頁(yè)面下把對(duì)應(yīng)的城市拖進(jìn)來(lái)即可:
然后在上層應(yīng)用就可以直接使用“一線城市”這個(gè)維度了:
自定義命名集可以包含固定的維成員集,也可以包含能解析為集合的表達(dá)式。
例如要新建一個(gè)“銷量排名前3的城市”,在“新建命名集”頁(yè)面下,選擇系統(tǒng)提供的MDX函數(shù)和對(duì)應(yīng)的維度和度量,后續(xù)在應(yīng)用里面就可以直接使用了:
?
四、靈活的數(shù)據(jù)加載
Smartbi V10數(shù)據(jù)模型提供“直連”和“抽取”兩種數(shù)據(jù)加載模式。
當(dāng)企業(yè)出于數(shù)據(jù)安全考慮,不允許數(shù)據(jù)加載到其他系統(tǒng);或者數(shù)據(jù)頻繁變化,又要求看到最新的數(shù)據(jù);或者數(shù)據(jù)量大且客戶本身的存儲(chǔ)性能很高時(shí),適合用直連模式。
導(dǎo)入文件、腳本查詢、ETL高級(jí)查詢、存儲(chǔ)過(guò)程查詢必須用抽取模式。如果原始數(shù)據(jù)性能慢,希望提升查詢速度;或者數(shù)據(jù)變化頻率不高的情況下,也適合用抽取模式。
此外,Smartbi V10數(shù)據(jù)模型也支持“按次抽取”。例如需要實(shí)時(shí)數(shù)據(jù),但又無(wú)法使用直連方式(如模型含存儲(chǔ)過(guò)程);或者模型中的一部分?jǐn)?shù)據(jù)和用戶有關(guān)(如權(quán)限),同時(shí)又不能使用直連方式。這些情況下,Smartbi后臺(tái)的緩存庫(kù)按session 、查詢的參數(shù)組合進(jìn)行抽取存儲(chǔ),當(dāng)環(huán)境發(fā)生變化時(shí)就重新抽取。
正如一部汽車的動(dòng)力取決于引擎,Smartbi V10通過(guò)打造全新的數(shù)據(jù)模型,封裝更多的操作并進(jìn)行優(yōu)化,從“引擎”上提高效率,為上層應(yīng)用(自助儀表盤、電子表格等)輸出更澎湃的“動(dòng)力”,全面提升產(chǎn)品的功能性和便捷性。
? ? ? ? ymf
評(píng)論
查看更多