自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用分析服務(wù)多維模式建立簡(jiǎn)單的分析模型

開發(fā) 架構(gòu)
多維數(shù)據(jù)集是一種特殊的數(shù)據(jù)庫,按照默認(rèn)的模式(MOLAP),它把數(shù)據(jù)倉庫里事實(shí)表和維度表的數(shù)據(jù)經(jīng)過聚合存儲(chǔ)在另外一套獨(dú)立的文件系統(tǒng)中。經(jīng)過聚合的數(shù)據(jù)在統(tǒng)計(jì)性能上會(huì)得到提升,并且可以讓用戶通過很簡(jiǎn)單的前端工具,比如Excel來生成很簡(jiǎn)單的報(bào)表。這里將介紹如何制作一個(gè)簡(jiǎn)單的多維數(shù)據(jù)集。

此篇使用的版本是SQL Server 2012,對(duì)應(yīng)的Visual Studio Shell是2010,名稱也改為SQL Data Tools。

首先,打開SQL Data Tools,點(diǎn)擊File->New->Project…

接下來會(huì)打開新建項(xiàng)目窗口。這個(gè)界面可能對(duì)于很多c#開發(fā)人員再數(shù)據(jù)不過,這里可以告訴你,SQL Server BI下很多項(xiàng)目都是在這下面建立的,比如,數(shù)據(jù)集成項(xiàng)目,它主要負(fù)責(zé)BI項(xiàng)目中的ETL過程(數(shù)據(jù)的清洗轉(zhuǎn)換和加載),還有報(bào)表服務(wù)項(xiàng)目,很多BI項(xiàng)目的報(bào)表都是通過這個(gè)項(xiàng)目模版實(shí)現(xiàn)的。自從微軟.net戰(zhàn)略之后,很多開發(fā)基本都是在Visual Studio進(jìn)行的。這里就是一個(gè)具體的體現(xiàn)。

在左面項(xiàng)目模版中選擇Analysis Services,然后選擇Analysis Services Multidimensional and Data Mining Project。

在這里我們可以看到在最新的版本中還提供了另外一種分析服務(wù)項(xiàng)目模版,就是Analysis Services Tabular Project,關(guān)于這個(gè)新特性,可以參考我的另外一篇隨筆:

使用SQL Server Analysis Services Tabular Model建立分析模型

Tabular Model的最終產(chǎn)出結(jié)果跟多維數(shù)據(jù)集差不多,只不過它更面向于業(yè)務(wù)人員和開發(fā)人員之間的用戶,而本文提及的多維數(shù)據(jù)集是定位在開發(fā)人員之上的。

另外,留意一下項(xiàng)目類型的Data Mining,意思就是在這個(gè)項(xiàng)目下,也可以建立數(shù)據(jù)挖掘項(xiàng)目,關(guān)于如何玩轉(zhuǎn)這個(gè)功能,請(qǐng)參考我的另外一篇隨筆:

使用SQL Server Analysis Services數(shù)據(jù)挖掘的關(guān)聯(lián)規(guī)則實(shí)現(xiàn)商品推薦功能

接下來,我們看一下項(xiàng)目的結(jié)構(gòu):

可以看到項(xiàng)目包含幾個(gè)文件夾。

第一個(gè)是數(shù)據(jù)源,這里定義SSAS數(shù)據(jù)庫要連接的是哪個(gè)數(shù)據(jù)源,通常來說就是數(shù)據(jù)倉庫所在的位置。

第二個(gè)是數(shù)據(jù)源視圖,里面定義了多維數(shù)據(jù)集需要的各種表,事實(shí)表和維度表。

Cubes里面定義數(shù)據(jù)立方體,也就是我們所說的多維數(shù)據(jù)集。

Dimensions文件夾里定義了維度,這里可以理解為維度的一個(gè)抽象,比如時(shí)間維度,在具體的一個(gè)立方體里可能對(duì)應(yīng)的就是比如"開始時(shí)間"或者"結(jié)束時(shí)間"這樣的泛化維度。

挖掘結(jié)構(gòu),里面是跟數(shù)據(jù)挖掘相關(guān)的。

角色,里面定義多維數(shù)據(jù)庫的安全信息。

了解完以上項(xiàng)目里的文件夾后,下面開始一步一步建立一個(gè)簡(jiǎn)單的多維數(shù)據(jù)集。

首先,右鍵Data Sources文件夾,點(diǎn)擊New Data Source…。

接下來出現(xiàn)數(shù)據(jù)源向?qū)Ы缑妗?/p>

點(diǎn)擊界面中的New新建一個(gè)連接。留意左面的Data Connections界面,里面會(huì)列出你以前用過的數(shù)據(jù)連接。

服務(wù)器名稱選擇本地,敲一個(gè)點(diǎn)就可以,然后數(shù)據(jù)庫選擇AdventureWorksDW2012。

AdventureWorks是微軟提供的數(shù)據(jù)庫示例,里面包含了業(yè)務(wù)數(shù)據(jù)庫(上圖中不帶DW字樣的)以及數(shù)據(jù)倉庫示例(剛才選擇的)。此外還包含很多跟SQLServer的其它示例,關(guān)于如何獲取并且部署這些項(xiàng)目,可以參考我的這篇隨筆:

微軟SQLServer官方示例項(xiàng)目部署-數(shù)據(jù)引擎和分析服務(wù)部分

設(shè)置好連接屬性后,點(diǎn)擊下一步。

這里要面設(shè)置模擬信息。這里手動(dòng)指定用戶,使用你登陸機(jī)器的管理員賬號(hào)就可以。當(dāng)然實(shí)際生產(chǎn)環(huán)境中不建議這么做。

指定好模擬信息后,點(diǎn)擊下一步。

給數(shù)據(jù)源起一個(gè)名字,點(diǎn)擊完成。接下來就可以看到在數(shù)據(jù)源文件夾下生成了一個(gè)ds后綴的數(shù)據(jù)源文件。

下面,右鍵數(shù)據(jù)源視圖文件夾,點(diǎn)擊New Data Source View…。

在數(shù)據(jù)源視圖中距中,在左面可以看到剛才建立的數(shù)據(jù)源連接,選中它,點(diǎn)擊下一步。

這一步會(huì)列出數(shù)據(jù)源連接下的表和視圖。

這里我們建立一個(gè)簡(jiǎn)單的多維數(shù)據(jù)集,從左面可用對(duì)象列表里依次選擇FactInternetSales,DimCustomer,DimDate,DimGeography,DimProduct,DimProductCategory和DimProductSbcategory到右面的列表中,然后點(diǎn)擊下一步。

給數(shù)據(jù)源視圖起一個(gè)名字,然后點(diǎn)擊完成。

然后在數(shù)據(jù)源視圖中,可以看到剛剛選中的事實(shí)表和維度表。

可以看到在微軟提供的示例中,已經(jīng)定義好了表間關(guān)系。在實(shí)際的項(xiàng)目中,我也這些關(guān)系要定義好,盡管很多項(xiàng)目都不太情愿這么做,并且確實(shí)也會(huì)帶來一些麻煩,但這絕對(duì)是一個(gè)好的習(xí)慣和規(guī)范。

此外,在這個(gè)界面中也可以定義命名查詢,或者在表里添加一些計(jì)算列。

確認(rèn)完畢數(shù)據(jù)源視圖之后,開始創(chuàng)建多維數(shù)據(jù)集。右鍵Cubes文件夾,選擇New Cube…。

選擇第一項(xiàng)使用已經(jīng)存在的表。

多維數(shù)據(jù)集在SQL Server 2005之后,支持正向和逆向的方式創(chuàng)建多維數(shù)據(jù)集。通常來說是現(xiàn)有數(shù)據(jù)倉庫然后再有多維數(shù)據(jù)集,但是通過這個(gè)特性,可以先建立多維數(shù)據(jù)集,然后再根據(jù)多維數(shù)據(jù)集的結(jié)構(gòu)反向生成數(shù)據(jù)倉庫里的表。通常來說后面的方法用的比較少。

點(diǎn)擊下一步。

選擇事實(shí)表FactInternetSales,點(diǎn)擊下一步。系統(tǒng)往往不能正確的事別你得事實(shí)表和維度表,所以每次到這里都建議檢查一下勾選的事實(shí)表是否正確。

點(diǎn)擊下一步。

指定多維數(shù)據(jù)集里的度量值,這些都是從事實(shí)表中來,所以像Promotion Key等這些鍵值字段拿來統(tǒng)計(jì)是沒有意義的,取消掉。還有需要留意系統(tǒng)會(huì)在最下面加入一個(gè)Count字段,在項(xiàng)目中可以根據(jù)Shijiazhuang情況來考慮是否要加入這個(gè)字段。

點(diǎn)擊下一步,開始確認(rèn)多維數(shù)據(jù)集的維度。

這里暫時(shí)不需要更改任何內(nèi)容,因?yàn)闀?huì)在接下來的步驟中進(jìn)行維度的詳細(xì)設(shè)計(jì)。這里直接點(diǎn)擊下一步。

最后,給多維數(shù)據(jù)集取一個(gè)名字,并且在預(yù)覽區(qū)域中檢查一下多維數(shù)據(jù)集的結(jié)構(gòu),然后點(diǎn)擊完成結(jié)束向?qū)А?/p>

然后就系統(tǒng)會(huì)自動(dòng)打開多維數(shù)據(jù)集的設(shè)置界面。這里先給維度重新命名,去掉前面的Dim前綴。

#p#

接下來設(shè)置維度屬性,首先雙擊Date.Dim,進(jìn)入到維度設(shè)置界面。

在界面左側(cè)可以看到維度已經(jīng)擁有了哪些屬性,右面的數(shù)據(jù)源視圖中可以看到維度表中都支持哪些字段。

這里可以拖拽我們需要的字段到維度屬性中,方法就是依次拖拽CalendarYear,MonthNumberOfYear和DayNumberOfMonth到維度屬性列表中。再將其重命名為Date, Month和Year。

設(shè)置成友好名稱,首先是為了友好并且維護(hù)方便,其次比較關(guān)鍵的是可以讓后期的MDX寫起來更舒服些。

接下來,修改Month的OrderBy屬性為Key。

指定好排序依據(jù)什么排序。如果不設(shè)置,就可能出現(xiàn)如下的錯(cuò)誤情況:

指定根據(jù)Key排序后,月份的排列順序就正確了。

此外還需要設(shè)置Day的OrderBy屬性同樣為Key。

接下來建立維度層次。建立維度層次后,在前段分析工具就可以很方便的使用諸如年-月-日這樣的層次下鉆關(guān)系。

創(chuàng)建的方法是,首先拖拽Year到中間的Hierarchies中,會(huì)自動(dòng)生成一個(gè)層次結(jié)構(gòu),然后再將Month和Day依次拖拽到新建的層次中。

時(shí)間維度創(chuàng)建完畢,接下來據(jù)創(chuàng)建產(chǎn)品維度。從數(shù)據(jù)源視圖中拖拽到Product, SubCategory和Category到維度屬性列表,然后再創(chuàng)建一個(gè)名為ProductHierarchy的層次結(jié)構(gòu)。方法同時(shí)間維度的創(chuàng)建。

簡(jiǎn)單的多維數(shù)據(jù)集設(shè)置完畢后,接下來需要做的就是部署到分析服務(wù)實(shí)例上。

不過在這之前,需要確認(rèn)一下部署的設(shè)置,在解決方案管理器中右鍵選擇Properties。

在配置界面中,左邊選擇Deployment,然后在右邊的Server和Database里設(shè)置SSAS數(shù)據(jù)庫要部署到哪一個(gè)服務(wù)器以及部署之后數(shù)據(jù)庫的名稱叫什么。

這里我們選擇部署到本地并且使用默認(rèn)數(shù)據(jù)庫名稱。

設(shè)置完畢后點(diǎn)擊確定關(guān)閉。

接下來同樣右鍵項(xiàng)目,選擇Process。

處理之前系統(tǒng)會(huì)檢測(cè)本地的版本跟服務(wù)器的版本,如果本地的版本比服務(wù)器上的新,那么就會(huì)出現(xiàn)過期提示,選擇是,替換服務(wù)器的版本。

#p#

部署完畢后,會(huì)出現(xiàn)處理界面。

對(duì)于上面的這個(gè)界面,你可能會(huì)問,為什么沒有Change Settings…按鈕。這個(gè)按鈕,只要你把窗體的高度再讓它高一些就出來了。點(diǎn)擊這個(gè)按鈕后,會(huì)出現(xiàn)設(shè)置更改金額面。

這里最常用的就是Dimension key errors。在實(shí)際的數(shù)據(jù)倉庫操作中,很難避免會(huì)出現(xiàn)維度對(duì)應(yīng)不上或者重復(fù)鍵或者缺失等情況,為了忽略這些錯(cuò)誤,就可以進(jìn)到這個(gè)界面進(jìn)行相應(yīng)的維度處理錯(cuò)誤設(shè)置。這里先忽略設(shè)置直接點(diǎn)Cancel回到處理界面然后點(diǎn)Run開始處理。

在處理進(jìn)度界面中,可以看到系統(tǒng)正在處理哪部分內(nèi)容,假如處理的過程中發(fā)生了錯(cuò)誤,也可以在這個(gè)界面中詳細(xì)看到是哪里出的錯(cuò)。處理完畢后,點(diǎn)擊Close關(guān)閉。

關(guān)于SSAS數(shù)據(jù)庫的部署方法也很多,詳細(xì)的內(nèi)容可以參考我先前的一篇隨筆:

BI筆記之--- SSAS部署的幾種方式

在Solution Explorer中雙擊剛才建立的多維數(shù)據(jù)集,然后在多維數(shù)據(jù)集設(shè)置界面中選擇Browser選項(xiàng)卡。

通過這個(gè)界面可以簡(jiǎn)單的瀏覽一下剛才在多維數(shù)據(jù)集里聚合的數(shù)據(jù),比如,拖拽一個(gè)度量到中間的空白區(qū)域中,然后再拖拽幾個(gè)維度,就可以對(duì)任意一個(gè)度量進(jìn)行維度分解。

此外,在最新的2012版本的瀏覽界面中,加入了一個(gè)小按鈕,就是在Excel中查看。

點(diǎn)擊之后,會(huì)自動(dòng)打開Excel,在Excel文檔中會(huì)自動(dòng)建立好了到這個(gè)多維數(shù)據(jù)集的連接,省去了先前在Excel中還要點(diǎn)擊好多步驟的麻煩。

當(dāng)然,在Excel連接多維數(shù)據(jù)集并且對(duì)其進(jìn)行分析只是多維數(shù)據(jù)集應(yīng)用其中的一個(gè)方面,關(guān)于它還有一個(gè)概念就是MDX,它就如同SQL對(duì)數(shù)據(jù)庫一樣,MDX主要就是查詢多維數(shù)據(jù)庫用的,它的結(jié)構(gòu)也同樣是SELECT FROM WHERE這樣的結(jié)構(gòu)。關(guān)于這方面的應(yīng)用開發(fā),可以參考我早先的兩篇隨筆:

在Silverlight下用Visifire顯示多維數(shù)據(jù)集中的數(shù)據(jù)

在Silverlight下用Visifire顯示多維數(shù)據(jù)集中的數(shù)據(jù)(二)

此外,在處理多維數(shù)據(jù)集的過程中,可以選擇增量的方式進(jìn)行處理,詳細(xì)的方法可以參考我的這篇隨筆:

BI筆記之---增量方式處理多維數(shù)據(jù)集

以及,關(guān)于在多維數(shù)據(jù)集的處理上我的幾點(diǎn)個(gè)人建議:

BI筆記之---合理處理SSAS數(shù)據(jù)庫的幾點(diǎn)建議

至此,如何建立一個(gè)簡(jiǎn)單的多維數(shù)據(jù)集就介紹到這里。在實(shí)際項(xiàng)目中建立一個(gè)多維數(shù)據(jù)集還需要做很多的細(xì)化工作,這里只是簡(jiǎn)單的對(duì)其中關(guān)鍵幾個(gè)過程進(jìn)行介紹和演示。如果想了解關(guān)于多維數(shù)據(jù)集的更多功能,可以參考此篇中提到的微軟提供的Adventure Works示例,雖然里面都是示例數(shù)據(jù),但很多表中都很值得我們參考,個(gè)人建議在實(shí)際項(xiàng)目中開發(fā)多維數(shù)據(jù)集的時(shí)候,對(duì)于很多細(xì)節(jié)問題不知道該如何做的時(shí)候,都回過來參考下微軟的這個(gè)示例。

原文鏈接:http://www.cnblogs.com/aspnetx/archive/2013/03/16/2963965.html

責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2010-09-28 15:18:27

如何建立DHCP服務(wù)器

2009-09-03 17:13:19

C#建立項(xiàng)目

2009-08-31 16:01:31

C#和設(shè)計(jì)模式

2015-11-04 14:45:24

數(shù)據(jù)分析大數(shù)據(jù)創(chuàng)業(yè)

2016-10-16 13:48:54

多維分析 UVPV

2017-09-26 09:23:07

大數(shù)據(jù)多維實(shí)踐

2017-06-29 11:05:46

TensorFlow深度學(xué)習(xí)

2010-07-26 15:14:04

telnet服務(wù)

2013-04-26 10:50:03

2009-10-12 13:11:48

VB.NET使用線程

2009-11-05 16:01:51

WCF單調(diào)服務(wù)

2017-09-05 17:16:18

多維數(shù)據(jù)分析

2017-05-26 15:57:54

深度學(xué)習(xí)人工智能

2023-02-01 23:00:42

大數(shù)據(jù)

2024-04-18 08:30:00

留存分析模型數(shù)據(jù)分析

2012-05-09 15:26:26

2009-09-08 13:16:01

Linq to SQL

2009-11-19 16:27:23

Oracle Rown

2009-09-22 17:47:03

Hibernate s

2009-09-28 15:38:12

Hibernate P
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)