上一篇咱們已經完成了數據源的準備工做,如今咱們就開始動手,建立第一個多維數據集(Cube)。 數據庫
在Analysis Services中,能夠經過3種方法構建多維數據集:自上而下,自下而上或者基於一個空多維數據集。 學習
通常咱們從現有的關係數據庫自下而上構建。 spa
在自下而上方式中,須要一個DSV做爲多維數據集的構建基礎。 設計
AS中的多維數據集(Cube)包括兩部分: 3d
1. 一個或多個度量值組,其數據來自關係數據源中的一個或多個事實表。一般狀況下,每一個事實表對應一個度量值組,度量值組包含一個或多個度量值(例如銷售額,成本,售出產品計數) blog
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中。
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,轉載文章以後必須在文章頁面明顯位置給出做者和原文鏈接,不然保留追究法律責任的權利。