SQL Server2005 Analysis服務(wù)實(shí)踐之起步
一、在Analysis Services項(xiàng)目中定義數(shù)據(jù)源視圖 1、根據(jù)模板創(chuàng)建Analysis Services項(xiàng)目BIDS(Business Intelligence Development Studio)利用模板創(chuàng)建不同類型的項(xiàng)目,Analysis Services項(xiàng)目即為其中的一個(gè)模板,而且這些模板是可自定義的。
2、定義數(shù)據(jù)源使用Native OLE DBMicrosoft OLE DB Provider for SQL Server驅(qū)動程序連接SQL Server。
3、定義數(shù)據(jù)源視圖數(shù)據(jù)源視圖(data source view,針對項(xiàng)目中選定的數(shù)據(jù)源的表或視圖的元數(shù)據(jù)視圖),將元數(shù)據(jù)存儲在數(shù)據(jù)源視圖中使用戶可以在開發(fā)過程中脫離對數(shù)據(jù)源的連接使用元數(shù)據(jù)。可以選用多個(gè)異類查詢作為數(shù)據(jù)源,但至少一個(gè)數(shù)據(jù)源必須是SQL Server數(shù)據(jù)源。
商品維度:Pub_商品主檔 日期維度:Sys_銷售日歷 門店維度:Pub_倉庫門店 供應(yīng)商維度:Pub_供應(yīng)商 事實(shí):E1日銷售明細(xì) 4、修改默認(rèn)表名稱BIDS使用數(shù)據(jù)源視圖中的元數(shù)據(jù)定義維度(dimensions)、屬性(attributes)和測度組(measure groups)。BIDS使用立方體對象的FriendlyName屬性而不使用Name屬性,所以本步驟主要是修改在上一步中創(chuàng)建的對象的FriendlyName屬性以提高用戶友好性。(不僅可以更改數(shù)據(jù)源視圖中表的友好名稱,也可以更改列的名稱,定義計(jì)算列,甚至在表或視圖間進(jìn)行連接以提高用戶友好性)。
幾個(gè)概念:
維度(dimension):多維立方體的基本組成部分(a fundamental component),用以從用戶興趣的角度組織數(shù)據(jù)(以合乎邏輯的層次化的格式組織商業(yè)數(shù)據(jù))。 屬性(attribute):維度的組成部分(building block),用以在多維立方體中組織測度。維度是屬性的集合,每個(gè)屬性對應(yīng)維度表中的一列或多列。在維度中,屬性以層次的形式組織,為立方體中的測度提供聚合向下鉆取的路徑。屬性向客戶端應(yīng)用程序提供分組的受約束的信息。 測度(measure):事實(shí)表(fact table)中的包含可計(jì)算、合計(jì)等的數(shù)值型數(shù)據(jù)的列。在一個(gè)立方體中,測度被事實(shí)表分組為測度組。 測度組(measure groups):用以對事實(shí)表中包含的測度進(jìn)行分組,并在維度和測度之間進(jìn)行聯(lián)系。
Pub_商品主檔——>product Sys_銷售日歷——>date Pub_倉庫門店——>depository Pub_供應(yīng)商——>supplier E1日銷售明細(xì)——>sales
二、定義并配置立方體 1、定義立方體立方體向?qū)Э梢詤f(xié)助定義測度和維度。
立方體也可以在沒有數(shù)據(jù)源的情況下定義。這種情況下,BIDS自動生成底層相關(guān)對象,配合SQL Server Intergration Services從相關(guān)數(shù)據(jù)庫對象加載數(shù)據(jù)到Analysis Services的維度和立方體中。這種自上而下的方法一般用在原型法和假設(shè)分析(what-if analyses)中。
根據(jù)以上建立的數(shù)據(jù)源定義立方體的步驟如下:
a.選擇構(gòu)建立方體的方法,選擇“Build the cube using a datasource”,并選中'Auto Build'。
b.選擇上面定義過的數(shù)據(jù)源視圖。
c.立方體向?qū)ё詣訖z測事實(shí)表和維度表。
d.制定事實(shí)表和維度表。指定E1日銷售明細(xì)為事實(shí)表,其它的均為維度表(此處為Name),并制定時(shí)間維度表為date(此處為FriendlyName)。
e.選擇時(shí)間周期Date為time中的銷售日期字段。
f.選擇測度。測度的選擇中包含了所有事實(shí)表中的數(shù)值型字段,最后一個(gè)'Sales Count'是由向?qū)ё詣由傻氖聦?shí)表的計(jì)數(shù)字段。
g.檢查維度中的屬性,需要時(shí)可改變其結(jié)構(gòu),如刪除不必要的如備注、圖片等字段以節(jié)省空間。
2、檢查立方體和維度的屬性在立方體設(shè)計(jì)器中檢查由立方體向?qū)傻慕Y(jié)果。立方體設(shè)計(jì)器由九個(gè)選項(xiàng)卡組成:立方體結(jié)構(gòu)(Cube Structure)、維度用途(Dimension Usage)、計(jì)算(Calculations)、關(guān)鍵性能指示器(KPIS, Key Performance Indicators)、行為(Actions)、分區(qū)(Partitions)、透視圖(Perspectives)、轉(zhuǎn)換(Translations)、瀏覽器(Browser)。
a.“立方體結(jié)構(gòu)”選項(xiàng)卡用于查看立方體的結(jié)構(gòu),立方體向?qū)ЫY(jié)束后即轉(zhuǎn)向此頁面。
1)在測度面板中可以使用鼠標(biāo)拖曳改變測度的順序。
2)在維度面板中,選擇一個(gè)維度并編輯該維度時(shí)可以添加、刪除和修改維度層次、級別和屬性。
b.'維度用途'面板用于瀏覽有多個(gè)測度組的立方體中每個(gè)測度組對應(yīng)的維度。單擊選定測度旁邊的省略號彈出'定義關(guān)系(Define Relationship)'對話框,該對話框定義維度與度的關(guān)系。如果維度表與事實(shí)表是直接連接的話,應(yīng)該選擇的關(guān)Regular,此時(shí)可以定義不同級別的粒度(granularity)。
在'定義關(guān)系'對話框上單擊'高級(Advanced)'按鈕,彈出“測度組綁定(Measure Group Bindings)”對話框,此對話框允許用戶編輯每個(gè)屬性的綁定字段,并允許用戶指定null值的處理。
c.立方體向?qū)褂脹]有聚合的MOLAP存儲模式定義了一個(gè)單獨(dú)的分區(qū)。在MOLAP中,所有葉子級別的(包括聚合)數(shù)據(jù)都存儲在立方體中以獲得最大的性能。聚合是預(yù)先計(jì)算過的數(shù)據(jù)的概要,用來減少查詢的響應(yīng)時(shí)間。另外,在“分區(qū)”選項(xiàng)卡中,可以定義另外的分區(qū),進(jìn)行存儲設(shè)置和回寫設(shè)置。
d.此時(shí),由于需要將立方體部署到一個(gè)Analysis Services實(shí)例,“瀏覽器”選項(xiàng)卡下并不能瀏覽立方體。
3、部署Analysis Services項(xiàng)目
a.在'解決方案瀏覽器'中右鍵單擊Analysis Services項(xiàng)目選擇'屬性(Properties)',彈出屬性頁上'輸出路徑(Output Path)'指定腳本的XMLA腳本的保存路徑,'服務(wù)器(Server)'指定該項(xiàng)目部署的目標(biāo)Analysis Services實(shí)例。
b.如果Analysis Services服務(wù)未啟動,從“開始Microsoft SQL Server 2005 CTPConfiguration ToolsSQL Server Surface Area Configuration”啟動Analysis Services服務(wù),服務(wù)的名稱為MSSQLServerOLAPService。在'解決方案瀏覽器'中右鍵單擊Analysis Services項(xiàng)目選擇'部署(Deploy)'。
至此立方體部署成功。
4、瀏覽部署后的立方體維度瀏覽器用以瀏覽維度的每個(gè)層次的成員。
可以立方體瀏覽器的“瀏覽器(Browser)”選項(xiàng)卡中瀏覽立方體。
一開始很奇怪為什么英文版的開發(fā)環(huán)境中的數(shù)據(jù)呈現(xiàn)區(qū)域顯示的是中文?仔細(xì)看了一下,原來立方體瀏覽器的數(shù)據(jù)呈現(xiàn)區(qū)域使用的是Microsoft Office PivotTable。
