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