BI之SSAS完整實戰教程2 -- 開發環境介紹及多維資料集資料來源準備

MiroYuan發表於2016-08-23

上一篇我們已經完成所有的準備工作,現在我們就開始動手,通過接下來的三篇文章建立第一個多維資料集。

 

傳統的維度和多維資料集設計方法主要是基於現有的單源資料集。

在現實世界中,當開發商業智慧應用程式時,很可能需要處理多個關係資料來源。

我們可以通過建立一個DSV提供一個整合的單源檢視,其中僅包括你定義的一個或多個資料來源中感興趣的資料。資料來源和資料來源檢視構成了後面要介紹的維度和多維資料集等結構的基礎。

AS2012 支援的主要關係資料來源包括SQL SERVER, Oracle, DB2,Teradata等。

對於某種特定的資料來源,可能需要安裝資料提供程式的其他客戶端元件,以便可以在計算機上使用適用於該特定資料來源的OLE DB提供程式或.NET提供程式。

這些客戶端元件應該不僅可以在使用SSDT設計資料庫的開發計算機上使用,還必須可以在執行AS例項的伺服器計算機上使用。

 

另外,建立資料來源時還可以通過Connection Manager對話方塊指定其他連線屬性,例如連線查詢超時、隔離級別以及最大連線數等。

 

本篇我們先準備好多維資料集要使用的資料來源,為後續建立多維資料集打下基礎。

 

文章提綱

  • 主要步驟
    • 新建專案及IDE中結構介紹
    • 建立資料來源
    • 建立資料來源檢視(DSV,作為多維資料集的構建基礎)
  • 關於DSV必須掌握的六點
  • 總結

 

緊接著上篇文章,我們開啟SSDT後,按照如下步驟進行。

主要步驟

一、新建專案及IDE結構介紹

1. 主選單中, File à New à Project

2. 選擇 Analysis Services Multidimensional and Data Mining Project 模板

3. 輸入ASMultidimensionalPOC名稱,點選OK建立此專案。

SSDT環境包括多個工具視窗,需要重點關注 Solution Explorer, Properties, Output 視窗。

 

其中Solution Explorer 視窗需要說明下。

包括8個資料夾:

  • Data Sources:資料來源
  • Data Source Views :資料來源檢視,後面簡稱為DSV,可包含一個或多個資料來源的表
  • Cubes :分析的基礎。一個Cube(多維資料集)由一個度量值組集合和一個維度集合構成。
  • Dimensions:維度,指的是對資料進行切片以檢視感興趣的特定數量資料時所依據的類別。

    說明:

    每個維度包含一個或多個層次結構。存在兩種型別的層次結構:特性層次結構和使用者層次結構。

    約定:後面特性層次結構被稱為特性,使用者層次結構被稱為層次結構。特性對應於維度表中的列,而層次結構是通過組合若干相關特性(列)構成的。例如, 絕大多數資料集都具有Time維度。通常情況下,Time維度包含Year、Month、Date和Day特性,以及一個Year – Month – Date 層次結構。

  • Mining Structures (先不討論)
  • Roles (先不討論)
  • Assemblies (先不討論)
  • Miscellaneous (先不討論)

 

二、建立資料來源

使用微軟示例資料庫AdventureWorksDW2012為資料來源,下載地址

http://msftdbprodsamples.codeplex.com/downloads/get/165405

下載完直接附加一下就可以了。

 

建立順序基本按照Solution Explorer 視窗裡面資料夾的順序

右鍵 Data Sources à New Data Source…

新建一個源,參考下圖進行填寫。(注意選中Save my password)

指向我們事先準備的AdventureWorksDW2012, 點選Test Connection通過後點選OK

 

 

可以看到新建的資料來源,繼續點選 Next

 

選擇 Use a specific Windows user name and password選項,輸入對AdventureWorksDW資料庫具有訪問許可權的賬戶憑證,單擊 Next

最後一個頁面,可以更改Data source name,我們使用預設名稱, 點選Finish就完成了資料來源的建立。

 

三、建立資料來源檢視

DSV提供了在OLAP資料庫中使用的表的邏輯檢視。DSV可以包含來自一個或多個資料來源的表和檢視。因為多維資料集和維度是從DSV建立的,而不是直接從資料來源物件建立的,我們需要在AS資料庫中建立DSV.

步驟:

右鍵 Data Source Views à New Data Source View…

點選 Next進入下一步

 

選擇之前我們建立的資料來源,下一步。

從左邊Available objects選擇需要的表移至右邊 Included objects中。

下一步

 

使用預設提供的名字,點選Finish完成DSV的建立。

 

完成建立後會自動開啟DSV.

DSV設計器包含三個窗格: Diagram Organizer, Tables, Diagram View.

可以通過在DSV設計器中新增、刪除以及修改表和檢視來對DSV進行更改。

下面我們分別介紹這三個窗格:

最右側是 Diagram View 窗格。

Diagram View顯示錶及其關係的圖形表示形式。顯示的每個表都包含相應的列及是否有主外來鍵標誌的指示。表之間關係是通過連線兩個表的線條表示的, 小鑰匙表示主鍵列。連線線顯示錶之間的關係。如果雙擊某個連線線,可以找到用於構成該關係的聯接的每個表的列。

若要檢視DSV所指定的資料樣本,右擊表,選擇Explore Data, 預設查詢前5000行。通過單擊Sampling Options更改檢索的行數。

 

左上是Diagram Organizer(關係圖組織程式) 。對關係圖中的表所做的操作會實時反映在整個DSV中。預設情況下,有一個稱為All Tables的關係圖會包含DSV中的所有物件。

左下是Tables窗格,其中顯示DSV中所有表的樹檢視,以及這些表及其他表的關係。

可以看到,主鍵是CurrencyKey

展開Relationships資料夾,DimCurrency通過CurrencyKey列聯接到兩個Fact表

右鍵Relationships à FactInternetSales(using CurrencyKey),選擇Edit Relationship… 可以看到主外來鍵關係

 

關於DSV必須掌握的六點

關於資料來源檢視的一些常用功能(針對三個窗格進行操作)需要掌握:

一、在DSV中新增/刪除表

如果一開始表沒有新增完全或需要刪除一些表, 可以右擊 Diagram View 窗格, 選擇Add/Remove Tables 可以進行修改。

二、在DSV中指定主鍵和關係

DSV嚮導可以提取在基礎關聯式資料庫中指定的主鍵和關係,並將它們新增到DSV中。但是,你使用的某些OLTP資料可能並沒有為相關表指定主鍵和關係。

DSV設計器提供了針對沒有定義主鍵的表指定邏輯主鍵的功能。通過這種方式,可以高效的修改DSV中表之間的關係,或者在表之間新增新的關係。

若要為某個表設立邏輯主鍵,有兩種方式

1. 在表中選擇要指定為邏輯主鍵的一列或多列,右擊並選擇Set Logical Primary Key

2. 可以通過拖拽的方式設立主外來鍵關係。(起點為外來鍵, 目標是主鍵)

三、在DSV中新增一個基於命名查詢的表

當現有物理表不能滿足我們要求時,可以直接在DSV 設計器中通過SQL語句查詢已有的表,產生自定義表。

如下圖,在DSV設計器的關係圖窗格中右擊,選擇 New Named Query,直接用一個SQL查詢建立新表。

四、在某些情況下可能要在已有表中建立新列。

例如,員工的首名、中間名和姓氏建立一個包含該員工全名的列。

可以直接右擊Employee,然後選擇New Named Calculation

DSV在AS資料庫的後設資料中維護命名計算定義;不會將定義寫到基礎表中。

 

五、在Diagram Organizer中建立新的檢視

資料倉儲設計由一個或多個事實表以及關聯的維度表構成。

小型資料倉儲通常包含10~20個表, 而較大的資料倉儲可能會包含一百多個表。

DSV中包含非常多的表肯定會在一定程度上增加導航和使用的複雜性。

可以按照主題新建一些自定義的檢視以方便使用。

如下圖方框處預設會建立一個<All Tables>關係圖,你可以增加其他的,如HR主題,財務主題等。

 

若要建立新的關係圖,請執行以下操作:

1.右擊Diagram Organizer窗格,然後選擇New Diagram

2.將新的關係圖命名為Internet Sales

3.右擊Diagram窗格並選擇Show Tables,選擇需要包含的表。

4.選擇FactInternetSales表,單擊OK

5.右擊剛剛新增的表的標題,然後選擇Show Related Tables.

上述操作可以獲得一個包含FactInternetSales事實表以及相關維度表的關係圖。

如果不想看到某個關係圖中的某個特定表,可以右擊該表並選擇Hide

如果要新增單個表,也可以直接從左下Tables窗格拖拽到Diagram窗格。

六、檢視資料來源檢視屬性

AS專案中每個物件(表,檢視,列和關係)都具有特定的屬性。

這些屬性就不一一講述了,大家可以自己開啟看看。

有幾個簡單提一下。

1. 普通列有Length屬性,僅適用於字串資料型別,其他資料型別均為 -1.

2. 不能更改的屬性,顯示為灰色(只讀屬性)

3. 可以更改FriendlyName屬性,DSV關係圖檢視中右擊,通過選擇Show FriendlyName選項在使用者友好名稱和原始列名稱直接切換。

4. 命名計算列不包含FriendlyName屬性。

5. 表屬性中TableType顯示基礎資料來源時表還是檢視。

總結

現在,你已經成功使用SSDT建立了一個DSV,可以使用這些表來構建多維資料集和維度,後續將會圍繞這個例子繼續進行擴充套件。

另外說明一下,我們示例中DSV的表都來自於一個資料來源,DSV設計器可以在單個DSV中包含來自多個資料來源的表。

新增不同源表的步驟類似,只需要將我們提到的步驟稍加組合,簡單說明一下:

首先, 使用資料來源嚮導定義涉及的各個表的資料來源

完成該操作後,可以建立一個DSV, 並在其中包含來自上述資料來源之一的表。

這第一個資料來源被稱為主要資料來源,要求必須是SQL Server資料來源。

然後,在DSV設計器中可以選擇其他資料來源來新增表(通過Add/Remove Tables)

 

歡迎大家多多評論與支援, 祝學習進步:)

 

相關文章列表:

 

 

相關文章