2013年12月6日 星期五

Lab1:Analysis Service 專案練習

SSAS 安裝與連線

安裝 SSAS

連線至 SSAS

新增 Analysis Service 專案

下面範例使用 AdventureWorksDW2012 這個測試資料庫

在 VS2010 和 VS2008 中,你可以分別使用以下工具建立多維度分析專案(Multidimensional Analysis Solutions)

使用 SSDT(SQL Server Data Tools)

使用 BIDS(Bussiness Intelligence Development Studion)

設定 Data Source

設定 Data Source

在專案中,新增「資料來源」

設定 Data Source View

在專案中,新增「資料來源檢視」

挑選 DimCustomer, DimDate, DimGeography, DimProduct, FactInternetSales

完成的資料來源檢視關連圖

修改 Data Source View

你可以修改 Data Source View 中的一些屬性值,讓檢視表看起來比較簡潔易讀

例如修改 Data Source View 的 FriendlyName:

先點選 FactInternetSales 資料表,在由 Property 視窗中將它的 FriendlyName 修改成 InternetSales

同樣的,將其他資料表的 FriendlyName 都修改一下,你可以得到以下新的 Data Source View 。這個資料來源檢視共有五個 Table。

在 Data Source View 中加入自訂欄位

你也可以在 Data Source View 中加入一些計算後的自訂欄位,底下示範加入四個自訂欄位:

例如:

1. 在 Customer 中加入一個 Full Name 欄位

2. 在 Date 中加入一個 Simple Date 欄位

3. 在 Date 中加入一個 Calendar Semester Description 欄位

4. 在 Date 中加入一個 Calendar Quarter Description 欄位

最後,這些具名欄位,都會在資料來源檢視表中。

設定 Cube 和 Dimension

1. 新增 Cube 和 Dimension

1. 新增 Cube

2. 設定 Measure Group Table

這個步驟要指定 Measure Group Table ,你可以直接點選「建議」,系統會自動找出哪些資料表是 Measure Group 。

3. 設定 Measures

前一步驟我們指定了一個 Measure Group Table ,所以在這個步驟中, 你可以在 InternetSales Table 中挑選哪些欄位是要加到 Cube 裡當做 Measure

4. 設定 Dimensions

這個步驟是要指定哪些資料表要當做 Dimension , 你可以依據可用資料表建立維度。 其中,因為 InternetSales 資料表我們已設定它是 Measure Group Table ,所以此處不勾選它。

5. 完成畫面

我們建了一個 Cube ,包含一個 Measure Group Table 和三個 Dimemsion 。

2. 修改 Cube

建立 Cube 之後,你可以修改 Cube 中 Measure 的顯示名稱與顯示格式。

修改 Measure 顯示名稱

要修改 Measure 顯示名稱,你只要點選一下你要修改的那個 Measure 欄位, 在從右邊的屬性視窗修改即可。

在這個步驟中,我們總共修改以下 Measure 的顯示名稱。

  • Unit Price Discount Pct => Unit Price Discount Percent
  • Tax Amt => Tax Amount

修改 Measure 顯示格式

同樣的,你也可以在 Property Pane 中,變更 FormatString 屬性,以修改 Measure 顯示格式

在這個步驟中,我們將 Extended Amount, Discount Amount, Product Standard Cost, Total Product Cost, Sales Amount, Tax Amount 等 Measure 都改成 Currency 格式。

另外將 Unit Price Discount Percent 改成 Percent 格式。

在 Measure 窗格中,裡面的量值群組預設是使用 Tree 形式的顯示介面,你可以將它切換成 Grid 形式的顯示介面, 這個介面有時候在操作上會比較方便。例如,可以同時挑選多個 Measure 一起做設定。

在 Measure 窗格中的任何空白處,打開右鍵選單,點選「方格」。

3. 修改 Dimension

要修改 Dimension ,你可以開啟 Dimension 的 Design Viewer

雖然我們建立了三個維度,但是目前維度中只有相關連的Key值,我們必須由資料來源檢視中挑選適當的欄位當作維度的Attribute。

1. 在 Customer.dim 維度中,先將 Geography 資料表中的 City ~ SalesTerritoryKey 都加入 Attribute 窗格。

再將 Customer 資料表中的 CustomerAlternateKey ~ FullName 都加入 Attribute 窗格。

2. 在 Product.dim 維度中,將 Product 資料表中的 CustomerAlternateKey ~ FullName 都加入 Attribute 窗格。 因為二進位資料不能當作 Attribute 的資料來源,所以必須刪除 LargePhoto Attribute。

3. 在 Date.dim 維度中,將 Date 資料表中的 FullDateAlternateKey ~ SimpleDate 都加入 Attribute 窗格。

4. 修改 Attribute columns

在維度中的每一個 Attribute ,其資料值都會透過繫結,而由 Data Source View 中取得。 例如 Calerdar Quarter 屬性預設會繫結到 Data Source View 的 [CalerdarQuarter] 欄位,其顯示的資料會是 1 ~ 4 的數值。 你也可以變更這些繫結設定,例如繫結到我們先前在 Data Source View 中自訂的欄位,那就可以得到不一樣的顯示資料。

1. 設定 KeyColumns 屬性

前面,我們在 Data Source View 中自訂了一個 Calendar Quarter Description 欄位,由於這個自訂欄位會讀取到 CalendarYear 和 CalerdarQuarter 欄位值, 所以,我們必需在 Calerdar Quarter 屬性的 KeyColumns 屬性中指明結繫到 CalendarYear 和 CalerdarQuarter 資料欄,由於原本就有 CalerdarQuarter ,所以只要加入 CalendarYear ,再調整順序即可。

2. 設定 NameColumns 屬性

將 Calerdar Quarter 屬性的 NameColumns 屬性,更改成 Calendar Quarter Description 。

3. 同樣的 Calerdar Semester 屬性的 KeyColumn 屬性也加入 CalendarYear 資料欄; NameColumns 屬性更改成 Calendar Semester Description 。

4. NameColumns 與 KeyColumns

  • KeyColumn :references the columns that uniquely identifies an attribute member ( one or more )
  • NameColumn :references the column that contains the descriptive labels. ( single )

在 Dimension 中的每個 Attribute 都有 KeyColumnNameColumn 屬性值,這二個屬性簡單講,一個是內部用的數據,一個是顯示用的數據。 預設 KeyColumn 會繫結到一個資料來源欄位,NameColumn 是空的,此時 NameColumn 會使用和 KeyColumn 相同的繫結。

但是,這二者其實是不同的屬性值,你可以分別繫結到不同的資料來源。而且 KeyColumn 還可以同時繫結到多個資料來源欄位。 當 KeyColumn 繫結到多個資料來源欄位,此時 NameColumn 就不能保留空白,必須要指定一個繫結欄位。

下面操作,我們將 EnglishMonthName 的 KeyColumn 改成 [Calerdar Year] + [MonthNumberOfYear]; 而 NameColumn 則指定為 EnglishMonthName 。

這個操作的結果,一般要使用 MDX 查詢時,比較看的出來差異。 在 MDX 查詢中,「&」是用來取得 KeyColmun 的值,「.」是用來取得 NameColmun 的值。

Browse the Cube

Deploy SSAS

在設計好一個 SSAS 專案後,我們必須將它部署至有啟用 Analysis Service 的伺服器上。

1. 檢查服務是否已啟動。

2. 設定 SSAS 專案中的目標伺服器

3. 執行部署

4. 部署完之後,可以連接到伺服器,確認 SSAS 資料庫是否已部署成功。

Browse the Cube

開啟 Cube 瀏覽器

要檢視 Cube,你可以在 SSMS 中操作,如下圖:

也可以在 Visual Studio 中,由原本的 DW 專案中操作,如下圖:

使用 Cube 瀏覽器建立查詢

Cube 瀏覽器中,你只要將層級量值拖拉到 Data 窗格,就可以很方便的建立查詢報表。。

1. [measure] 將 InternetSales 量值群組中的 Sales Amount 量值拉到 Data 窗格中。

2. [measure] 接著將 InternetSales 量值群組中的 Internet Sales Count 量值拉到 Data 窗格中,並放在 Sales Amount 後面。

3. [hierarchy] 將 Order Date 維度中的 Order Date.Date Key 這個階層拉到 Data 窗格中。

由於 Order Date.Date Key 是維度中的階層,所以它的值會展開成每一個列。

4. [hierarchy] 將 Customer 維度中的 Full Name 拉到 Data 窗格中。

你可以發現,這樣子的查詢結果就是,每一天,每個客戶的總消費金額和數量。

5. [hierarchy] 我們刪除 Data 窗格中的 FullName,再將 Customer 維度中的 City 拉到 Data 窗格中。

你可以發現,這樣子的查詢結果就是,每一天,每個城市的總消費金額和數量。

使用 Excel 建立查詢

除了由 Cube 瀏覽器建立查詢,你也可以由 Excel 中建立查詢。

1.設定資料來源

2.設定連線與驗證。

3.設定以樞紐分析表的方式,匯入資料。

4.接著你只要在 Measure Gooup 或者 Dimension 中,勾選你想要看到的資料即可。

沒有留言:

張貼留言