小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

【SSAS】Model

 chenyuanchina 2016-07-27

【備注】這是最近在一個(gè)講座中的例子,整理出來給大家參考

 

相關(guān)名詞解釋

SSAS: SQL Server Analysis Service。

這是微軟SQL Server BI(商務(wù)智能)平臺的一個(gè)核心組件,它可以基于UDM(統(tǒng)一維度模型)構(gòu)建多維數(shù)據(jù)集和挖掘模型,支持OLAP(在線分析)和Data Mining(數(shù)據(jù)挖掘)

Cube: 多維數(shù)據(jù)集

這是SSAS項(xiàng)目設(shè)計(jì)的一個(gè)核心目的,創(chuàng)建多維數(shù)據(jù)集,以便支持OLAP分析。對于Cube而言,不再有行和列的概念,取而代之的是,維度和度量值(以及度量值組)

 

Model-First: 模型先行

這是SSAS從2005這個(gè)版本開始支持的一個(gè)新特性,也可以說是一個(gè)設(shè)計(jì)Cube的策略。Model-First指的是,在沒有數(shù)據(jù)倉庫的情況下,先設(shè)計(jì)模型(維度和度量值,以及他們之間的關(guān)系),然后可以根據(jù)這個(gè)模型,反向生成數(shù)據(jù)倉庫。

與該策略對應(yīng)的另外一個(gè)策略是:Database-First(數(shù)據(jù)庫先行),也就是說,在設(shè)計(jì)Cube之前,現(xiàn)有一個(gè)完整的數(shù)據(jù)倉庫,該策略是指根據(jù)數(shù)據(jù)倉庫的結(jié)構(gòu)生成Cube。

這兩種策略各有優(yōu)缺點(diǎn)。Database-first較為簡單,能夠很快生成Cube,快速驗(yàn)證和開始工作。而Model-First則更加適合于現(xiàn)實(shí)的工作中,因?yàn)楹芏鄷r(shí)候,我們在做BI項(xiàng)目的時(shí)候,可能數(shù)據(jù)倉庫是并不存在的。而且過早地關(guān)注數(shù)據(jù)倉庫的物理設(shè)計(jì),也不是一個(gè)非常好的方案。我們應(yīng)該是先關(guān)注分析需求,并且將這些需求轉(zhuǎn)換為我們的模型。

 

這一篇文章用一個(gè)例子演示了如何使用Model-First策略設(shè)計(jì)Cube,并且反向工程生成數(shù)據(jù)倉庫。

1.新建一個(gè)SSAS項(xiàng)目

2.啟動新建Cube向?qū)Вㄔ贑ubes文件夾處,右鍵)

選擇Creation Method,“ Create an empty cube”。注意,這里也可以根據(jù)模板創(chuàng)建。這兩種都屬于是Model-First的方式

由于目前沒有數(shù)據(jù)庫,所以下圖中只能選擇“None”

接下來給Cube命名,完成操作

3.創(chuàng)建度量值

度量值指的是我們在Cube里面需要進(jìn)行分析的一些基礎(chǔ)指標(biāo)。本例中,我們假設(shè)要分析一個(gè)銷售業(yè)務(wù),有兩個(gè)度量值,銷售額和數(shù)量。

首先,創(chuàng)建一個(gè)度量值組(Measure Group),它是用來組織度量值的

將度量值組命名為Sales,并且繼續(xù)創(chuàng)建兩個(gè)度量值,SalesAmount和Quantity

4.創(chuàng)建并編輯維度

維度代表了我們在Cube中分析業(yè)務(wù)的角度。本例中,我們創(chuàng)建兩個(gè)維度,時(shí)間維度和客戶維度

首先,創(chuàng)建時(shí)間維度(注意,時(shí)間維度是一個(gè)很特殊的維度,有專門的向?qū)В?/p>

定義時(shí)間段以及我們關(guān)注的時(shí)間信息。這個(gè)時(shí)間段將決定后續(xù)生成數(shù)據(jù)的范圍。

我們甚至還可以定義多個(gè)日歷

接下來,我們創(chuàng)建一個(gè)客戶維度.與時(shí)間維度不同的是,客戶維度一般需要我們自己定義。

【注意】這里也可以使用模板,但為了演示如何設(shè)計(jì)維度,我不用模板

【注意】這里所謂的SCD,指的是漸變維度。該內(nèi)容的討論超出了本文的范圍,有興趣的朋友請參考聯(lián)機(jī)叢書或者我其他的文章。

通過上面的步驟,我們已經(jīng)創(chuàng)建了一個(gè)維度,我們還需要為該維度添加一些屬性(Attribute),例如本例中,我們添加“國家”,“地區(qū)”,“城市”,“性別”四個(gè)屬性,以便利用它們進(jìn)行分析。

【注意】這里應(yīng)該還需要?jiǎng)?chuàng)建層次(Hierarchies),以便提供性能。限于篇幅,本文不做這個(gè)步驟

 

5.將維度與Cube關(guān)聯(lián)

維度建立好之后,需要將它與Cube進(jìn)行關(guān)聯(lián)。我們可以先回到Cube Design界面

在左下角的方塊區(qū)域,可以添加維度

將兩個(gè)維度都添加進(jìn)來

光這樣做還是不夠的,我們需要設(shè)置維度與度量值的關(guān)系。切換到Dimension Usage界面

點(diǎn)擊每個(gè)維度右側(cè)那個(gè)小按鈕,設(shè)置關(guān)系為”Regular” ,下圖是時(shí)間維度

下圖是客戶維度

6.生成數(shù)據(jù)庫

到上面這樣,我們就完成了Cube的設(shè)計(jì)(當(dāng)然,我們只是做了最簡單的一個(gè)范例),那么如何根據(jù)這個(gè)設(shè)計(jì),生成我們需要的數(shù)據(jù)倉庫呢

首先,在SQL Server中創(chuàng)建一個(gè)空的數(shù)據(jù)庫,例如

然后,回到BI Studio中來,在頂部菜單中選擇“Database”==>”Generate Relational Schema”

點(diǎn)擊“New…”來創(chuàng)建一個(gè)新的數(shù)據(jù)源

再次點(diǎn)擊“New…”,指定我們的服務(wù)器和數(shù)據(jù)庫

點(diǎn)擊“Next”

【注意】這里選擇“Use the service account”

點(diǎn)擊“Finish”

點(diǎn)擊“Next”

點(diǎn)擊“Next”

點(diǎn)擊“Next”

點(diǎn)擊“Finish”

這樣就生成好了我們需要的數(shù)據(jù)庫結(jié)構(gòu)。我們可以在SSMS中查看得到

更加特別的地方是,Time這個(gè)維度表里面還包含了數(shù)據(jù)

當(dāng)然,Customers表和Sales表目前是沒有數(shù)據(jù)的,那就需要我們通過設(shè)計(jì)SSIS,將數(shù)據(jù)從業(yè)務(wù)數(shù)據(jù)庫中抽取過來。這個(gè)內(nèi)容已經(jīng)超出了本文的范圍。

 

7. 部署項(xiàng)目

我們可以將這個(gè)設(shè)計(jì)好的SSAS項(xiàng)目部署起來看看效果如何

部署成功之后,下圖就可以看到我們熟悉的OLAP分析的界面了

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多