上一篇咱們已經完成全部的準備工做,如今咱們就開始動手,經過接下來的三篇文章建立第一個多維數據集。 html
傳統的維度和多維數據集設計方法主要是基於現有的單源數據集。 數據庫
在現實世界中,當開發商業智能應用程序時,極可能須要處理多個關係數據源。 服務器
咱們能夠經過建立一個DSV提供一個整合的單源視圖,其中僅包括你定義的一個或多個數據源中感興趣的數據。數據源和數據源視圖構成了後面要介紹的維度和多維數據集等結構的基礎。 ide
AS2012 支持的主要關係數據源包括SQL SERVER, Oracle, DB2,Teradata等。 工具
對於某種特定的數據源,可能須要安裝數據提供程序的其餘客戶端組件,以即可以在計算機上使用適用於該特定數據源的OLE DB提供程序或.NET提供程序。 學習
這些客戶端組件應該不只能夠在使用SSDT設計數據庫的開發計算機上使用,還必須能夠在運行AS實例的服務器計算機上使用。 spa
另外,建立數據源時還能夠經過Connection Manager對話框指定其餘鏈接屬性,例如鏈接查詢超時、隔離級別以及最大鏈接數等。 設計
本篇咱們先準備好多維數據集要使用的數據源,爲後續建立多維數據集打下基礎。 3d
緊接着上篇文章,咱們打開SSDT後,按照以下步驟進行。 code
1. 主菜單中, File à New à Project
2. 選擇 Analysis Services Multidimensional and Data Mining Project 模板
3. 輸入ASMultidimensionalPOC名稱,點擊OK建立此項目。
SSDT環境包括多個工具窗口,須要重點關注 Solution Explorer, Properties, Output 窗口。
其中Solution Explorer 窗口須要說明下。
包括8個文件夾:
說明:
每一個維度包含一個或多個層次結構。存在兩種類型的層次結構:特性層次結構和用戶層次結構。
約定:後面特性層次結構被稱爲特性,用戶層次結構被稱爲層次結構。特性對應於維度表中的列,而層次結構是經過組合若干相關特性(列)構成的。例如, 絕大多數數據集都具備Time維度。一般狀況下,Time維度包含Year、Month、Date和Day特性,以及一個Year – Month – Date 層次結構。
使用微軟示例數據庫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… 能夠看到主外鍵關係
關於數據源視圖的一些經常使用功能(針對三個窗格進行操做)須要掌握:
若是一開始表沒有添加徹底或須要刪除一些表, 能夠右擊 Diagram View 窗格, 選擇Add/Remove Tables 能夠進行修改。
DSV嚮導能夠提取在基礎關係數據庫中指定的主鍵和關係,並將它們添加到DSV中。可是,你使用的某些OLTP數據可能並無爲相關表指定主鍵和關係。
DSV設計器提供了針對沒有定義主鍵的表指定邏輯主鍵的功能。經過這種方式,能夠高效的修改DSV中表之間的關係,或者在表之間添加新的關係。
若要爲某個表設立邏輯主鍵,有兩種方式
1. 在表中選擇要指定爲邏輯主鍵的一列或多列,右擊並選擇Set Logical Primary Key
2. 能夠經過拖拽的方式設立主外鍵關係。(起點爲外鍵, 目標是主鍵)
當現有物理表不能知足咱們要求時,能夠直接在DSV 設計器中經過SQL語句查詢已有的表,產生自定義表。
以下圖,在DSV設計器的關係圖窗格中右擊,選擇 New Named Query,直接用一個SQL查詢建立新表。
例如,員工的首名、中間名和姓氏建立一個包含該員工全名的列。
能夠直接右擊Employee,而後選擇New Named Calculation
DSV在AS數據庫的元數據中維護命名計算定義;不會將定義寫到基礎表中。
數據倉庫設計由一個或多個事實表以及關聯的維度表構成。
小型數據倉庫一般包含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)
歡迎你們多多評論與支持, 祝學習進步:)
相關文章列表: