1. 程式人生 > >SQL Server 2005 Analysis Services實踐(一)

SQL Server 2005 Analysis Services實踐(一)

作者:蠟人張

一、在Analysis Services專案中定義資料來源檢視

1、根據模板建立Analysis Services專案

BIDS(Business Intelligence Development Studio)利用模板建立不同型別的專案,Analysis Services專案即為其中的一個模板,而且這些模板是可自定義的。

2、定義資料來源

使用Native OLE DB/Microsoft 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 CTP/Configuration Tools/SQL Server Surface Area Configuration”啟動Analysis Services服務,服務的名稱為MSSQLServerOLAPService。在"解決方案瀏覽器"中右鍵單擊Analysis Services專案選擇"部署(Deploy)"。

至此立方體部署成功。

4、瀏覽部署後的立方體

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

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

一開始很奇怪為什麼英文版的開發環境中的資料呈現區域顯示的是中文?仔細看了一下,原來立方體瀏覽器的資料呈現區域使用的是Microsoft Office PivotTable。