一、在Analysis Services項目中定義數(shù)據(jù)源視圖

1、根據(jù)模板創(chuàng)建Analysis Services項目

BIDS(Business Intelligence Development Studio)利用模板創(chuàng)建不同類型的項目,Analysis Services項目即為其中的一個模板,而且這些模板是可自定義的。

2、定義數(shù)據(jù)源

使用Native OLE DB\Microsoft OLE DB Provider for SQL Server驅(qū)動程序連接SQL Server。

3、定義數(shù)據(jù)源視圖

數(shù)據(jù)源視圖(data source view,針對項目中選定的數(shù)據(jù)源的表或視圖的元數(shù)據(jù)視圖),將元數(shù)據(jù)存儲在數(shù)據(jù)源視圖中使用戶可以在開發(fā)過程中脫離對數(shù)據(jù)源的連接使用元數(shù)據(jù)。可以選用多個異類查詢作為數(shù)據(jù)源,但至少一個數(shù)據(jù)源必須是SQL Server數(shù)據(jù)源。

  • 商品維度:Pub_商品主檔
  • 日期維度:Sys_銷售日歷
  • 門店維度:Pub_倉庫門店
  • 供應(yīng)商維度:Pub_供應(yīng)商
  • 事實:E1日銷售明細(xì)

4、修改默認(rèn)表名稱

????BIDS使用數(shù)據(jù)源視圖中的元數(shù)據(jù)定義維度(dimensions)、屬性(attributes)和測度組(measure groups)。BIDS使用立方體對象的FriendlyName屬性而不使用Name屬性,所以本步驟主要是修改在上一步中創(chuàng)建的對象的FriendlyName屬性以提高用戶友好性。(不僅可以更改數(shù)據(jù)源視圖中表的友好名稱,也可以更改列的名稱,定義計算列,甚至在表或視圖間進行連接以提高用戶友好性)。

幾個概念:

  • 維度(dimension):多維立方體的基本組成部分(a fundamental component),用以從用戶興趣的角度組織數(shù)據(jù)(以合乎邏輯的層次化的格式組織商業(yè)數(shù)據(jù))。
  • 屬性(attribute):維度的組成部分(building block),用以在多維立方體中組織測度。維度是屬性的集合,每個屬性對應(yīng)維度表中的一列或多列。在維度中,屬性以層次的形式組織,為立方體中的測度提供聚合向下鉆取的路徑。屬性向客戶端應(yīng)用程序提供分組的受約束的信息。
  • 測度(measure):事實表(fact table)中的包含可計算、合計等的數(shù)值型數(shù)據(jù)的列。在一個立方體中,測度被事實表分組為測度組。
  • 測度組(measure groups):用以對事實表中包含的測度進行分組,并在維度和測度之間進行聯(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測事實表和維度表。
????d.制定事實表和維度表。指定E1日銷售明細(xì)為事實表,其它的均為維度表(此處為Name),并制定時間維度表為date(此處為FriendlyName)。


????e.選擇時間周期Date為time中的銷售日期字段。


????f.選擇測度。測度的選擇中包含了所有事實表中的數(shù)值型字段,最后一個"Sales Count"是由向?qū)ё詣由傻氖聦嵄淼挠嫈?shù)字段。


????g.檢查維度中的屬性,需要時可改變其結(jié)構(gòu),如刪除不必要的如備注、圖片等字段以節(jié)省空間。


2、檢查立方體和維度的屬性

????在立方體設(shè)計器中檢查由立方體向?qū)傻慕Y(jié)果。立方體設(shè)計器由九個選項卡組成:立方體結(jié)構(gòu)(Cube Structure)、維度用途(Dimension Usage)、計算(Calculations)、關(guān)鍵性能指示器(KPIS, Key Performance Indicators)、行為(Actions)、分區(qū)(Partitions)、透視圖(Perspectives)、轉(zhuǎn)換(Translations)、瀏覽器(Browser)。

????a.“立方體結(jié)構(gòu)”選項卡用于查看立方體的結(jié)構(gòu),立方體向?qū)ЫY(jié)束后即轉(zhuǎn)向此頁面。
????????1)在測度面板中可以使用鼠標(biāo)拖曳改變測度的順序。
????????2)在維度面板中,選擇一個維度并編輯該維度時可以添加、刪除和修改維度層次、級別和屬性。
????b."維度用途"面板用于瀏覽有多個測度組的立方體中每個測度組對應(yīng)的維度。單擊選定測度旁邊的省略號彈出"定義關(guān)系(Define Relationship)"對話框,該對話框定義維度與測度的關(guān)系。如果維度表與事實表是直接連接的話,應(yīng)該選擇的關(guān)Regular,此時可以定義不同級別的粒度(granularity)。


????在"定義關(guān)系"對話框上單擊"高級(Advanced)"按鈕,彈出“測度組綁定(Measure Group Bindings)”對話框,此對話框允許用戶編輯每個屬性的綁定字段,并允許用戶指定null值的處理。
????c.立方體向?qū)褂脹]有聚合的MOLAP存儲模式定義了一個單獨的分區(qū)。在MOLAP中,所有葉子級別的(包括聚合)數(shù)據(jù)都存儲在立方體中以獲得最大的性能。聚合是預(yù)先計算過的數(shù)據(jù)的概要,用來減少查詢的響應(yīng)時間。另外,在“分區(qū)”選項卡中,可以定義另外的分區(qū),進行存儲設(shè)置和回寫設(shè)置。
????d.此時,由于需要將立方體部署到一個Analysis Services實例,“瀏覽器”選項卡下并不能瀏覽立方體。


3、部署Analysis Services項目


????a.在"解決方案瀏覽器"中右鍵單擊Analysis Services項目選擇"屬性(Properties)",彈出屬性頁上"輸出路徑(Output Path)"指定腳本的XMLA腳本的保存路徑,"服務(wù)器(Server)"指定該項目部署的目標(biāo)Analysis Services實例。
????b.如果Analysis Services服務(wù)未啟動,從“開始\Microsoft SQL Server 2005 CTP\Configuration Tools\SQL Server Surface Area Configuration”啟動Analysis Services服務(wù),服務(wù)的名稱為MSSQLServerOLAPService。在"解決方案瀏覽器"中右鍵單擊Analysis Services項目選擇"部署(Deploy)"。

????至此立方體部署成功。

4、瀏覽部署后的立方體

????維度瀏覽器用以瀏覽維度的每個層次的成員。


????可以立方體瀏覽器的“瀏覽器(Browser)”選項卡中瀏覽立方體。


????一開始很奇怪為什么英文版的開發(fā)環(huán)境中的數(shù)據(jù)呈現(xiàn)區(qū)域顯示的是中文?仔細(xì)看了一下,原來立方體瀏覽器的數(shù)據(jù)呈現(xiàn)區(qū)域使用的是Microsoft Office PivotTable。