BI之SSAS完整實戰教程6 -- 設計維度、細化維度上:創建維度定義特性關系


前面我們使用過數據源向導、數據源視圖向導、Cube向導來創建相應的對象。

本篇我們將學習使用維度向導來創建維度。

通過前面幾個向導的學習,我們歸納一下共同點,主要分成兩步

1. 使用某種對象類型的向導創建對象,完成主要結構搭建

2. 使用相應的設計器完成最終對象的修改和細化

有點像送快遞,先通過大的物流(創建對象向導)把貨物送到相應的城市,再通過快遞員(設計器進行細化)送到具體顧客手中。

同樣的,我們使用維度向導以一種通用的方式來創建維度,然后根據自己的業務需求,使用維度設計器將創建的維度放置到它們的最終目的地。

文章提綱

  • 使用維度向導創建維度
  • 使用維度設計器設計維度
  • 總結

使用維度向導創建維度

維度可以提供切分多維數據集數據的功能。

前面提到過,維度包含層次結構的對象,分為特性層次結構和多級或用戶層次結構。前者對應於關系表中的單個列,后者派生自兩個或更多特性層次結構。

我們接着使用我們之前創建的項目ASMultidimensionalPOC 來進行進一步的練習。

在原有的基礎上,我們添加Geography維度,步驟:

一、 添加表DimGeography到dsv中

1. 切換到dsv視圖,點擊DSV設計器工具欄上的Add/Remove Objects按鈕

2. 選擇DimGeography 添加到DSV中。

二、 使用維度向導創建維度

1. 右擊Dimensions文件夾 -->New Dimension

2. 在Select Creation Method頁面選擇默認項 Use an existing table

3. 在Specify Source Information頁面中,需要選擇用於創建維度的DSV, 基於的主表,維度的鍵列及名稱列(可選),按照下面選擇,下一步

在Main table中選擇DimGeography表.

Key columns列表和Name column字段將自動設置為選定表的主鍵。

4. Select Related Tables

5. Select Dimension Attributes頁面顯示選擇作為要創建的維度的主表的列。

向導會將這些列轉換為維度特性。按下圖設置, Next

6. 最后一個頁面顯示將要為維度創建的特性,點擊完成。

至此,我們用向導創建的第一個維度就完成了。

接下來使用維度設計器來進一步設計這個維度。

使用維度設計器設計維度

首先看下維度設計器的組成。

可以看到,頂部有4個tab頁,分別是

Dimension Structure,Attribute Relationships, Translations, Browser

本篇會介紹前兩個tab, Translations和Browser后面再講。

第一個tab包括3個窗格,分別是Attributes, Hierarchies, DSV

Attributes顯示維度的特性,Hierarchies窗格顯示維度的層次結構及其級別,DSV窗格顯示維度中使用的表。

此外,還包含一個工具欄,鼠標放上去就能看到功能說明,不再多做介紹。

我們首先對Dimension Structure中的窗格進行介紹.

Attributes

特性層次結構(簡稱為特性)是只包含兩個級別的層次結構,分別是子級別和All級別。

前者針對每個不同的特性值包含一個成員,后者包含所有葉子級別成員的聚合值。

All級別是可選的。每個特性直接對應於DSV中的某個表列。

Attributes窗格中默認視圖是Tree,還有List和Grid 視圖。

 

Attributes Relationships

同一緯度特性具有一對多關系時可以定義特性關系,例如 Country,State和City 之間。

每個維度必須至少有一個特性定義為鍵特性,維度向導會自動與維度的所有特性建立關系。(顯然鍵特性在多的一側)

指定特性關系有助於改進查詢性能以及告知用戶層次結構的聚合設計。

Atrributes Relationships包含3個窗格,如下

我們完成Country – State – City 特性關系。

可以通過Diagram窗格,Attributes窗格,Attribute Relationships窗格三種方式創建關系,我們常用的是前兩種,下面我們分別舉例。

一、創建關系

1.在Diagram窗格中通過拖拽的方式修改特性關系。

2.通過Attributes窗格建立 Country – Province關系

如下圖,右鍵多的這一側,選擇New Attribute Relationship

按下圖選擇

 

二、編輯關系

我們使用Attribute Relationships窗格編輯 French Country Region Name和Spanish Country Region Name特性的現有關系。

1. 在Attribute Relationships窗格中如下圖操作

選擇方框處,

將關系屬性Cardinality由Many設為One, 將English Country Region Name和French Country Region Name的關系由many-to-one改為one- to - one

同樣的方式修改下Spanish Country Region Name

三、刪除關系

通過Attribute Relationships刪除關系比較方便

 

通過設定關系, 預先聚合,可以不必遍歷完整的層次結構,性能上可以得到改進。

 

 

創建 用戶層次結構

用戶層次結構(也稱多級層次結構)是通過某個維度的特性創建的。

每個用戶層次結構都包含一個或多個級別,每個級別本身都是一個特性層次結構。

基於創建的Geography維度的特性,可以創建一個稱為Country-State-City-Postal Code的邏輯用戶層次結構。

1.切換到 Dim Geography維度的Dimension Structure選項卡,將相應的特性拖拽到右邊Hierarchies中,如下圖。

 

2. 改名

創建的層次結構默認名為Hierarchy, 右擊Rename改為Geography

將層次結構中的每一級都Rename,方法類似。

最終效果如下圖

現在已經創建了一個稱為Geography的用戶層次結構,並且該層次結構包含4個級別,可單擊箭頭查看相關特性。

請注意Geography層次結構名稱旁邊的警告圖標以及層次結構名稱下面的曲線。

鼠標移上去可以看到提示信息,指示出該層次結構的一個或多個級別之間不存在特性關系,並且可能會導致性能下降。

當前的層次結構設計稱為非自然層次結構。

如果層次結構中的某個級別的特性值不能知道上一個級別中誰是父級,那么就會存在非自然層次結構。

舉個更容易理解的非自然層次結構的示例Customer Gender-Age層次結構,其中Gender是維度的第一級,而Age是第二級。知道某個客戶37歲並不會給出任何性別暗示。

與此相對的是,在自然層次結構中,知道某個級別中某個特性的值可明確地指出在層次結構中下一個級別中誰是他的父級。

自然層次結構的一個示例是Product維度層次結構,其中包含Category,Sub-Category和Product 3個級別。知道某種產品的Sub-Category是Mountain Bike,那么就知道他所屬的Category是Bike.

特性值之間的這種關系是通過特性關系來定義的。

我們優化當前的Geography層次結構,使其稱為自然層次結構。

1.切換Attribute Relationships頁面。可以看到,Post Code和City之間沒任何關系。

2.在Diagram窗格中,將Postal Code特性拖放到City特性。

此時建立起了關系。

3. 再切換Dimension Structure選項卡查看,可以看到警告已消失。

保存該維度。

 

總結

我們使用維度向導創建了第一個獨立的維度。

大家需要掌握維度向導的使用方法,並重點掌握維度設計器的用法(Dimension Structure和Attribute Relationships的頁面功能)

下一篇我們會將這個維度部署,修改一些部署錯誤,並查看維度數據以及進一步細化。

祝學習進步:)

 

相關系列文章列表:

 


首發博客園 by MiroYuan,轉載文章之后必須在文章頁面明顯位置給出作者和原文連接,否則保留追究法律責任的權利。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM