上一篇我們已經完成了資料來源的準備工作,現在我們就開始動手,建立第一個多維資料集(Cube)。
文章提綱
-
使用多維資料集嚮導建立多維資料集
-
總結Cube設計器簡介
-
維度細化
-
總結
一、使用嚮導建立多維資料集
在Analysis Services中,可以通過3種方法構建多維資料集:自上而下,自下而上或者基於一個空多維資料集。
一般我們從現有的關聯式資料庫自下而上構建。
在自下而上方式中,需要一個DSV作為多維資料集的構建基礎。
AS中的多維資料集(Cube)包括兩部分:
1. 一個或多個度量值組,其資料來自關係資料來源中的一個或多個事實表。通常情況下,每個事實表對應一個度量值組,度量值組包含一個或多個度量值(例如銷售額,成本,售出產品計數)
2. 多維資料集還包含一個或多個來自關係維度表的維度(例如Product和Time).
構建多維資料集時,需要指定希望使用的事實表和維度表。每個多維資料集必須至少包含一個事實表,用於確定該多維資料集的內容。
後面使用嚮導時可以看到,如果不選量值組會提示:At least one measure group table must be selected.
另外構建多維資料集之前,必須基於維度表建立維度。
我們簡單小結一下:Cube=度量值組+維度
多維資料集嚮導將建立多維資料集所涉及的所有步驟打包在一起, 形成一個簡單的順序過程,建立步驟:
1. 右鍵 Cubes à New Cube…
點選 Next進入下一步
選擇預設值,下一步
2.在Select Measure Group Table頁中,選擇FactInternetSales 和 FactResellerSales作為度量值組表,下一步
3. 在Select Measures頁面中,可以從度量值組表中選擇特定的列作為度量值。
預設情況下,會選中度量值組表中的所有列(鍵列除外)
按照預設選擇,下一步
4. 在Select New Dimensions頁面上,多維資料集嚮導將顯示可能的維度及其特性。預設情況下,多維資料集嚮導在每個維度中包含鍵特性,鍵特性將在此頁面上突出顯示,如下圖。取消選中Fact Internet Sales和Fact Reseller Sales維度,下一步。
5. 按照預設名稱,點選Finish完成多維資料集的建立。
嚮導完成後,維度也會相應的建立,並且顯示在Solution Explorer中。
二、Cube設計器簡介
Adventure Works DW多維資料集將在多維資料集設計器中開啟,如下圖
可以看到,多維資料集設計器具有多個tab, 通過這些tab, 可以對多維資料集進行各種操作。在多維資料集嚮導完成後開啟的預設頁面是Cube Structure
其他的一些頁面包括:Dimension Usage, Caculation, KPIs, Actions, Partitions, Aggregations, Perspectives, Translations和Browser
Cube Structure頁面包含3個窗格:Measures(度量值)、Dimensions(維度)和Data Source View(資料來源檢視)。
可以在Measures窗格中新增或修改度量值組和度量值。
使用Dimensions窗格可以新增或修改多維資料集的維度。
Data Source View 窗格顯示在多維資料集中使用的事實表和維度表,並使用不同顏色進行區分(黃色表示事實表,藍色表示維度表)
在每個窗格內部右擊,可以看到能夠在每個窗格中完成的各種操作。
三、維度細化
多維資料集嚮導僅向建立的維度中新增了最為基本的一些特性。若要對多維資料集中的資料進行分析,還需要對這些維度進行進一步細化, 後續文章我們專門有一篇講解維度的細化,下面我們先來一個維度細化示例。
1.在Solution Explorer中,雙擊Dim Date.dim維度。
Dim Date維度將在維度設計器中開啟。
Dimension Structure頁面包含3個窗格:Attributes, Hierarchies和DSV
2.在DSV窗格中,選中DimDate表中除DateKey以外的所有列,拖到Attributes窗格。該操作會為DimDate表中的每一列建立一個特性。
3. 將鍵特性從Date Key重新命名為Date
4. 將Fiscal Quarter特性從Attributes窗格拖放到Hierarchies窗格。該操作將建立一個層次結構,稱為Hierarchy.
將Month Number of Year 特性拖放到Hierarchies窗格的Fisical Quarter特性下面。該操作會在層次結構中建立另一個級別。
類似的,將Date特性拖放到Month Number of Year特性下面。
右擊層次結構並選擇Rename, 將層次結構重新命名為Fiscal Quarter – Month Number of Year, 最終效果如下圖:
我們對其他維度也做一些調整。
Dim Currency.dim
Dim Customer.dim
將鍵特性從 Custom Key 重新命名為 Custom
將DSV中來自DimCustomer表的所有列(Custom Key除外)拖放到Attributes窗格
Dim Sales Territory.dim
將鍵特性從Sales Territory Key 重新命名為 Sales Territory
將DimSalesTerritory表中除SalesTerritoryKey和Image以外的所有列從DSV窗格拖放到Attributes窗格。
Dim Product.dim
將鍵特性從 Product Key重新命名為Product
將DimProduct表中除ProductKey和LargePhoto以外的所有列從DSV拖放到Attributes 窗格。
Dim Promotion.dim
將鍵特性從Promotion Key 重新命名為 Promotion
將DimPromotion表中除PromotionKey以外的所有列從DSV窗格拖放到Attributes窗格。
將 English Promotion Category特性從Attributes窗格拖放到Hierarchies窗格。該操作將建立一個新的層次結構。
將Discount Pct特性從Attributes窗格拖放到Hierarchies窗格的English Promotion Category特性下面。該操作會在層次結構中建立一個新的level.
將Promotion特性從Attributes窗格拖放到Hierarchies窗格的Discount Pct級別下面.
重新命名層次結構為English Promotion Category – Discount Pct, 如下圖
Dim Reseller.dim
將鍵特性從Reseller Key重新命名為Reseller
將DimReseller表中除ResellerKey以外的所有列從DSV窗格拖放到Attributes窗格。
將Annual Revenue特性從Attributes窗格拖放到Hierarchies窗格。改操作將建立一個新的層次結構。
將Number Employees特性從Attributes窗格拖放到Hierarchies窗格的Annual Revenue特性下面。該操作將建立一個新的level, 成為Number Employees
將Reseller特性從Attributes窗格拖放到Hierarchies窗格的Number Employees級別下面
重新命名層次結構為Annual Revenue – Number of Employees , 如下圖
Dim Employee.dim
該維度具有多維資料集嚮導建立的3個鍵特性,與此相對的是,其他維度建立了一個鍵特性。這是因為,嚮導在Dim Employee維度內檢測到一種父子關係(後續教程介紹)
將Employee Key特性重新命名為Employee
將DimEmployee表中除EmployeeKey, ParentEmployeeKey,Sales TerritoryKey和EmployeePhoto以外的所有列從DSV窗格拖放到Attributes窗格。
將Department Name特性從Attributes窗格拖放到Hierarchies窗格。該操作將建立一個新的層次結構。
將Title特性從Attributes窗格拖放到Hierarchies窗格的Department Name層次結構下面。
將Employee特性從Attributes窗格拖放進Hierarchies窗格的Title特性下面。
重新命名層次結構為Department Name - Title
四、總結
現在,你已經成功使用SSDT建立了一個多維資料集,並對維度進行了細化。後續將會圍繞這個例子繼續進行擴充套件。
最後我們對本篇內容做個總結:
1. 需要了解嚮導建立多維資料集的順序 :
Select Creation Meathod (Use existing tables)
-->Select Measure Group Tables
-->Select Measures
-->Select New Dimensions
-->Completing the Wizard
2. Cube設計器的結構:
包含多個tab, 每個tab包含多個窗格,熟悉這些tab和窗格。
3. 初步瞭解維度細化的一些操作(後續會有專題講維度操作)
下一篇文章將會介紹如何部署這個專案到SSAS上,以及進行簡單的分析。
祝學習進步:)
首發部落格園 by MiroYuan,轉載文章之後必須在文章頁面明顯位置給出作者和原文連線,否則保留追究法律責任的權利。