共用方式為


商務智慧:建置您的第一個 Cube

Stacia Misner

 

我喜歡用使用者自己的樣本資料來建立一個簡單的 Cube,向他們介紹 Microsoft SQL Server Analysis Services。不過我這麼做時得特別小心,因為新使用者對所見的結果太過興奮,而迫不及待用以前覺得不可能的方式來探索資料,而把我從椅子上推下來已不下數次,。無論您是希望能更輕鬆探索資料,或者必須支援資料需求量大的使用者社群,都會發現 SQL Server Analysis Services (SSAS) 有提供必要的工具。

本文是系列文章中的第三篇;頭兩篇文章刊登於 2009 年 8 月號,網址為:technet.microsoft.com/magazine/ee263919.aspx。這一系列文章可幫助您在建置簡單的 BI 解決方案時,使用 Microsoft SQL Server 2008 提供的元件來深入了解商務智慧 (BI)。我將會提到先前兩篇文章中的概念和術語,因此如果您還沒有讀過,建議您先花點時間閱讀一下。

在<規劃您的第一套 BI 解決方案>中,我討論到與直接從公司資料庫擷取資料相較之下,建置資料超市有哪些好處。我也提供了下載範例資料庫的指示,您需要這些範例資料庫來遵循這些文章描述的步驟。接下來,Derek Comingore 在<建立 BI 解決方案的資料基礎>中說明如何使用 Integration Services,從公司資料庫填入資料到資料超市。在本文中,我將示範如何根據類似的資料超市設計來建置 Cube。

為什麼要建置 Cube?

我的第一篇文章概述了為何將資料從公司資料庫移至所謂的資料超市的結構的一些理由。在進行查詢時,資料超市確實有其優點,而且對某些案例應該綽綽有餘,而再一次將這些資料重新封裝到稱為 Cube 的結構中則有額外的好處。實際上,資料超市可以當作是資料繼續前進到 Cube 中的最終目的地之前的一個中繼站,因此在整個解決方案中,資料超市仍然很重要。

建置 Cube 來存放資料還有另一個好處,就是您可以將不易儲存在關聯式資料超市中的計算的商務規則集中化。此外,Cube 的結構更方便您編寫查詢來比較年復一年的資料,或是建立年初至今的累計值。

再者,您能夠一目了然地管理 Cube 中的彙總資料。為了在含有大量資料的關聯式資料超市中提升查詢效能,資料庫管理員常會建立摘要資料表,以便針對不需要交易層級詳細資料的查詢準備資料。SSAS 會建立摘要資料表的邏輯對等項目 (稱為彙總) 並保持其最新狀態。

在本文中,我將延續第一篇文章介紹的案例。這些案例定義了在這一系列文章中您所建置的 BI 解決方案的基本分析物件。解決方案必須能夠顯示哪種銷售通路對於 Adventure Works 的利潤最高,是網際網路銷售還是轉售商銷售,以及銷售趨勢是否指出特定產品的需求有增加或減少。BI 解決方案的來源資料為 AdventureWorksDW2008 資料庫,它套用了 Derek 文章中描述的維度模型與 ETL 原則。

您可以從 CodePlex 下載用來建立 Adventure Works 的解決方案的範例資料庫,網址為 msftdbprodsamples.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=18407。有了資料超市作為來源,您就可以開始建立 Analysis Services 2008 資料庫了。

準備您的 Analysis Services 資料庫

第一步是在 Business Intelligence Development Studio (BIDS) 中建立專案。從 Microsoft SQL Server 2008 程式群組啟動 BIDS,按一下 [檔案] | [新增] | [專案]。在 [新增專案] 對話方塊中選取 [Analysis Services 專案]。在 [名稱] 文字方塊中輸入 ssas_TECHNET_AW2008,想要的話,也可以變更專案位置。按一下 [確定] 以建立專案。

現在加入資料來源以定義資料超市的連接字串。在 [方案總管] 中,以滑鼠右鍵按一下 [資料來源] 資料夾,然後按一下 [新增資料來源]。在 [資料來源精靈] 中,按一下 [歡迎] 畫面上的 [下一步] (如果尚未停用的話)。在 [選取如何定義連接] 頁面上,按一下 [新增] 以設定新的連接。在 [連接管理員] 中,預設值為 SQL Server Native Client,就此專案而言這是正確選擇,不過您也可以使用 OLE DB 或 .NET 提供者來存取其他資料類型。

若要定義連接,請在 [伺服器名稱] 文字方塊中輸入您的伺服器名稱,或從下拉式清單中選取,接著選取資料庫下拉式清單中的 [AdventureWorksDW2008],然後按一下 [確定]。回到 [資料來源精靈] 時,按一下 [下一步]。在 [模擬資訊] 頁面上,選取 [使用服務帳戶] 選項。載入資料到 SSAS 資料庫時,會使用服務帳戶從來源讀取資料,它必須具有讀取權限才能讀取。按一下 [下一步],再按 [完成] 來完成精靈。

建立資料來源檢視

接下來,您從要用來定義維度和 Cube 的資料來源建立一個資料來源檢視 (DSV) 作為資料表抽象 (或檢視)。您不必修改底層資料來源也可以變更 DSV,如果您對資料超市只具備讀取權限且無法變更來源,這就很方便。在 [方案總管] 中,以滑鼠右鍵按一下 [資料來源檢視] 資料夾,然後按一下 [新增資料來源檢視]。

必要時,按一下 [歡迎] 畫面上的 [下一步]。在 [選取資料來源] 頁面上,選取剛才加入專案的資料來源,然後按一下 [下一步]。按兩下您需要的各個資料表或檢視,將物件加入到 DSV。若要建立 DSV 來幫助您解答本文開頭提出的 BI 問題,請將下列資料表加入 DSV:DimDate、DimProduct、DimProductCategory、DimProductSubcategory、FactInternetSales 及 FactResellerSales。學習如何使用 SSAS 時,從這類簡單的 DSV 開始著手是不錯的方法。如果您想使用 BI 解決方案來協助解決其他問題,之後隨時都可以加入更多資料表。完成加入資料表之後,按一下 [資料來源檢視精靈] 中的 [下一步],然後按一下 [完成]。

建議您在 DSV 設計工具的 [資料表] 窗格中選取各個資料表,然後從每個資料表的 FriendlyName 屬性移除 Dim 與 Fact 前置詞,藉此簡化資料表名稱。用來建立維度和 Cube 的精靈接著會使用 FriendlyName 屬性值來指派名稱給物件。完整 DSV 顯示在 [圖 1] 中。

Figure 1: Data Source View

[圖 1]:資料來源檢視

除了變更 DSV 中的資料表屬性,如果實體來源尚未定義的話,您還可以定義資料表間的邏輯主索引鍵或邏輯關聯性。如果資料層的實體上或 DSV 的邏輯上缺少這些定義,SSAS 便無法正確顯示資料。您也可以加入具名計算,就像是加入衍生的資料行到檢視,或以具名查詢取代資料表物件,這就類似建立檢視。

準備在 SSAS 中建立日期維度時,您需要加入兩個具名計算到 Date (日期) 資料表 -- Quarter (季) 與 Month (月),以便串連 year (年) 資料行與 quarter (季) 和 month (月) 資料行。否則,當您想要檢視摘要資料時,資料不會按照月、季和年來正確呈現。若要加入 Quarter (季) 的具名計算,以滑鼠右鍵按一下設計工具或 [資料表] 窗格中的 Date (日期) 資料表,然後按一下 [新增具名計算]。在 [資料行名稱] 文字方塊中,輸入 Quarter。在 [運算式] 文字方塊中,輸入下列運算式:

'Qtr ' + convert(char(1), CalendarQuarter) + ' ' + convert(char(4), CalendarYear)

按一下 [確定],接著重複上述步驟並使用下列運算式來加入 Month (月) 的具名計算:

left(EnglishMonthName, 3) + ' ' + convert(char(4), CalendarYear)

請注意,設計工具中的 Date (日期) 資料表 (如 [圖 2] 所示) 顯示您的具名計算和計算機圖示,藉此與資料表中實體的資料行作區分。在資料表上按一下滑鼠右鍵,再按 [瀏覽資料],就可以檢視加入具名計算的效果。新的視窗會在 BIDS 中開啟以顯示來自來源資料表的資料。

捲動到最右側,就可以看到具名計算的值。您始終都應該先使用 [瀏覽資料] 命令來確認具名計算符合您想要的顯示方式,然後再繼續建立維度。

在 Analysis Services 中定義維度

將維度資料表加入 DSV 之後,就可以開始在 SSAS 資料庫中建立維度。提醒一下,您使用維度來存放有關商業實體的資訊,例如人員、位置及物品。為了能夠解答本文開頭的 BI 問題,您需要建立 Date (日期) 與 Product (產品) 的維度。
若要加入維度到專案,請以滑鼠右鍵按一下 [方案總管] 中的 [維度] 資料夾,並選取 [新增維度] 來啟動 [維度精靈]。在 [選取建立方法] 頁面上,保留預設選項以使用現有的資料表,因為您的 DSV 包含 DimDate 資料表。對於那些您可能會根據包含日期的小型交易式資料表來建置簡單的資料庫的情況,您可能不會建立資料超市,而改用本頁的其他選項之一,在資料來源或伺服器中產生時間資料表。

Figure 2 Date Table with Named Calculations

[圖 2] 含具名計算的 Date (日期) 資料表

無論是何種情況,您都要為交易式資料表中的資料提供開始日期與結束日期。SSAS 可以在要用來填入 SSAS 資料庫中維護之維度的資料來源中建立和填入實體資料表,也可以在 SSAS 資料庫中直接維護專門的維度。

若要支援資料來源的關聯式查詢,可以選擇產生實體資料表。按 [下一步] 繼續。

在 [指定來源資訊] 頁面上,選取 [主資料表] 下拉式清單中的 [日期]。請注意,索引鍵資料行為 DateKey。索引鍵資料行必須唯一識別資料表中的各個記錄,SSAS 在傳回查詢結果時才能正確彙總或分組資料。接著,在 [名稱資料行] 下拉式清單中,選取 FullDateAlternateKey。SSAS 使用名稱資料行當作標籤顯示給使用者,而不是顯示索引鍵資料行。

按一下 [下一步]。

在 [選取維度屬性] 頁面上,您選擇要包含在維度內的屬性,用它來定義階層或其他其他群組標籤。

是否要包含維度資料表的所有屬性端視您想以 BI 解決方案協助解決哪些問題類型而定。只需加入所要的部分來確保 SSAS 以最佳狀態執行,避免耗用太多不必要的儲存空間,以及避免提供太多選項困惑使用者。針對此維度,選取 [日曆年]、[季] 和 [月]。按 [下一步],然後按一下 [完成]。

為了確保每一個屬性都能唯一識別,請更新 KeyColumn 屬性。藉由將此屬性設定到索引鍵資料行,您可確保 Month (月) 以數字順序正確排列,而非以月份名稱的字母順序排列 (這是預設的排序順序)。

若要更新 KeyColumn 欄位,請選取左側 [屬性] 窗格的 [Month (月)]。在 [屬性] 視窗中,按一下 KeyColumns 屬性,再按省略符號按鈕。在 [索引鍵資料行] 對話方塊中,按一下向左箭號來清除目前的指派,接著按兩下 CalendarYear 與 MonthNumberOfYear。現在按一下 [NameColumns] 屬性方塊中的省略符號按鈕,將標籤指派給這個屬性。選取 [EnglishMonthName],然後按一下 [確定]。

重複這些步驟,將 Quarter 屬性的 KeyColumns 屬性設為 CalendarYear 與 CalendarQuarter,並將 NameColumns 屬性設為 Quarter。
維度如今在 [方案總管] 中顯示為 Date.dim ,維度設計師 (如 [圖 3] 所示) 則顯示在 BIDS 的主要工作區中。

Date Dimension

[圖 3] 顯示在設計師中的 Date (日期) 維度

您可以在左側的 [屬性] 窗格中看到維度與相關聯的屬性,包括索引鍵屬性。如果您稍後決定加入更多屬性,可以從 [資料來源檢視] 窗格逐一拖曳屬性到 [屬性] 窗格。您只有在開始新維度時會用到 [維度精靈],之後可以在維度設計師中進行任何必要變更。

現在使用 [維度精靈] 來建立 Product (產品) 維度,使用 Product (產品) 作為主資料表,使用 EnglishProductName 作為主資料行。由於 Product (產品) 維度屬於雪花式結構描述,因此精靈包含額外的頁面來確認您是否要加入相關資料表,即 ProductSubcategory 與 ProductCategory。

接著,將 Color (色彩) 與 Size (大小) 屬性加入維度。請注意,精靈會自動選取雪花式資料表的索引鍵資料行,也就是 Product Subcategory Key 和 Product Category Key。您必須為這些屬性加入對應的名稱資料行,但首先得要完成精靈,以便修改屬性內容。

維度設計師出現時,在 [屬性] 窗格中選取 [Product Category Key (產品類別索引鍵)]。在 [屬性] 中,找到 Name (名稱) 屬性並將名稱改成 Category (類別)。向下捲動 [屬性] 視窗以尋找 NameColumn 屬性。

在屬性文字方塊中按一下即可顯示省略符號按鈕,按一下該按鈕,選取 [EnglishProductCategoryName],再按 [確定]。現在重複這些步驟,將 Product Subcategory Key 重新命名為 Subcategory,並指定 EnglishProductSubcategoryName 作為它的名稱資料行。最後,將 Product Key (產品索引鍵) 屬性重新命名為 Product (產品)。

加入階層

注意看一下,在 [屬性] 窗格的維度名稱 Product (產品) 底下會出現藍色的波浪線。將滑鼠移到波浪線上時,便會顯示警告訊息:「建立非父子式維度中的階層」。這則訊息是 SSAS 2008 為了協助您正確建立 SSAS 資料庫而內建的最佳作法警告範例之一。回到 Date (日期) 維度設計師,方法是按一下文件工作區中的適當索引標籤,或者在 [方案總管] 中按兩下 Date.dim,便會在此看到相同的警告。

在維度中加入階層被視為是最佳作法的原因有很多,尤其以使用者方便使用和最佳化為目的。具體而言,階層提供一個瀏覽路徑,可讓使用者從摘要資料遵循到詳細資料。而且,它會啟用 SSAS 在使用者查詢之前就計算和儲存彙總,藉此提高查詢效能。

例如,如果使用者想要按照年度查看轉售商銷售量,而且 Date (日期) 維度中的階層定義了從索引鍵屬性 (Date Key) 到 Calendar Year (日曆年) 屬性的彙總路徑,SSAS 就可以在過程中按照年度計算銷售資料,接著將結果放到永久存放區中。透過這樣存放彙總,就不用在查詢時計算每一年的銷售額,而這也是從關聯式資料超市擷取資料與從多維度資料庫 (如 SSAS) 擷取資料之間主要的差別。

若要加入階層到 Date (日期) 維度,請從 [屬性] 窗格拖曳 Calendar Year (日曆年) 屬性到維度設計師中的 [階層] 窗格。加入第一個屬性之後,包含全新空白層級的階層物件便會出現在您剛才加入的屬性底下。將 Quarter (季) 和 Month (月) 屬性分別拖放到空白層級的空間來加入這些屬性。接著,以滑鼠右鍵按一下 [階層],再按 [重新命名],然後輸入 Year,即可重新命名階層。

雖然您已經加入階層,仍會出現 Date (日期) 維度的警告。將游標移到直線上會看到新的警告:「針對用做使用者定義階層層級的屬性,應避免可見的屬性階層」。這則訊息建議您不要讓使用者查看包含在階層中的屬性本身。換言之,使用者應該只能在階層內瀏覽時才能查看屬性。

根據我的經驗,您應該與使用者一起做這個決定。如果您決定遵循這個警告,請選取 [屬性] 窗格中的 [Quarter (季)],然後在 [屬性] 視窗中,將 AttributeHierarchyVisible 值變更為 False。

屬性關聯性

階層本身顯示另一個警告。在本例中,訊息警告由於階層的一或多個層級之間缺少屬性關聯性,因此可能發生效能問題。SSAS 使用屬性關聯性來最佳化查詢效能和彙總設計、減少維度所需的存放量,以及加速資料庫處理時間。

在維度設計師中按一下 [屬性關聯性] 索引標籤(請注意,只有當您使用 Analysis Services 2008 時,才提供此索引標籤)。根據預設,所有屬性都直接與索引鍵屬性 Date Key 相關聯。若要重新指派關聯性來最佳化設計,請將 Month 物件拖曳到 Quarter 物件,然後將 Quarter 物件拖曳到 Year 物件。設計師中的關聯性現在已經正確表示從左到右各個層級之間的多對一關聯性,如 [圖 4] 所示。

Attribute Relationships

[圖 4] 屬性關聯性

接著,將階層加入稱為 Categories (類別) 的 Product (產品) 維度,此維度由上到下分別包含 Category (類別)、Subcategory (子類別) 與 Product (產品)。建立階層之後,您會發現不需要修復層級間的屬性關聯性,因為 DSV 中已經定義了資料表之間的外部索引鍵關聯性。不過,您可以視需要將 AttributeHierarchyVisible 屬性值設為 False。

現在您的專案包含兩個已經正確定義階層和屬性關聯性的維度。當您越來越了解維度設計,就會曉得有幾種屬性可用來微調效能和控制使用者介面中的特定行為。

此外,在更複雜的 BI 解決方案中也可能有更多維度。不過目前您已經掌握了維度的基本知識,而且具備建立 Cube 來繼續建置可用解決方案所需的要素。

建立 Cube

正如您使用 [維度精靈] 來開始定義維度的作業,您使用 [Cube 精靈] 來開始建立 Cube。在 [方案總管] 中,以滑鼠右鍵按一下 [Cubes] 資料夾,然後按一下 [新增 Cube],再按 [歡迎] 畫面上的 [下一步] (如果有的話)。在 [選取建立方法] 頁面上,保留預設選項(如果您希望手動建立或使用範本建立設計,可以使用其他另外兩個選項,接著讓 SSAS 根據該設計在資料來源中產生資料表,這種情況下您需要先使用 Integration Services 填入資料,然後才能瀏覽 Cube)。按一下 [下一步]。

在 [選取量值群組資料表] 頁面上,選擇 [網際網路銷售] 和 [轉售商銷售],然後按一下 [下一步](量值群組資料表與事實資料表同義)。接著精靈會顯示在所選量值群組資料表中找到的所有數值資料行。為了維持您一貫以來採取的簡單方法,清除頁面頂端的 [量值] 核取方塊來清除所有量值,然後從各個群組 (網際網路銷售和轉售商銷售) 選取下列量值:訂單數量、總產品成本及銷售量。

您也可以在本頁重新命名量值。只要以滑鼠右鍵按一下量值名稱並輸入新名稱即可,但是請確認每一個量值名稱都是唯一的。量值名稱應該簡短,但不應該過短以致於語意不清。在網際網路銷售群組中重新命名量值,如下所示:網際網路訂單數量、網際網路成本和網際網路銷售量。同樣地,將轉售商量值重新命名為轉售商訂單數量、轉售商成本和轉售商銷售量。按一下 [下一步]。

在 [選取現有維度] 頁面上,精靈會顯示您已經建立的維度。按一下 [下一步]。如果 DSV 中有任何資料表尚未參照成維度群組資料表或尚未被現有維度參照,則會顯示 [選取現有維度] 頁面,讓您快速加入其他可能需要的維度。在本例中,清除 [網際網路銷售] 和 [轉售商銷售],因為您不需要將這些資料表建立成維度(雖然技術上說來,這些都是量值群組資料表,在資料表中顯示銷售訂單號碼可讓您建立維度來支援依照銷售訂單號碼進行報告或銷售分析)。

按 [下一步],將 Cube 重新命名為 Sales (銷售),然後按一下 [完成]。恭喜您!

您已經成功建置簡單的 Cube!Cube 設計師在右側窗格顯示加入 Cube 的量值群組和維度,如 [圖 5] 所示。

Cube Designer Showing Measure Groups and Dimensions

[圖 5] Cube 設計師顯示量值群組和維度

建置 Cube 之後的第一步是設定各個量值的 FormatString 屬性,以方便在 Cube 瀏覽器中檢視數值。而最快速的方法就是在方格中檢視量值。在 Cube 設計師的工具列中,按一下左邊數來第五個按鈕,即可從樹狀檢視切換成方格檢視。在方格檢視中,您可以使用 Ctrl 鍵來同時選取數個量值。首先,選取 [網際網路訂單數量] 和 [轉售商訂單數量]。在 [屬性] 視窗的 [FormatString] 下拉式清單中,選取 [標準]。接著選取其餘所有量值,將 FormatString 屬性設為 [Currency (貨幣)]。

加入計算

SSAS 有一項強大的功能,就是能夠使用多維度運算式 (Multidimensional Expression,MDX) 語言來加入計算。如果您可以在 Excel 中撰寫公式,就可以使用簡單的 MDX 運算式在 Cube 中建立計算。如需更複雜的運算式,則需要花費一些時間學習和反覆練習來熟悉 MDX。

還記得此解決方案的其中一項設計目標就是按照銷售通路測量獲利率。Cube 現在包含計算獲利率所需的量值:網際網路成本、網際網路銷售量、轉售商成本及轉售商銷售量。銷售量與成本之間的差額是毛利,但是此計算提供的是絕對美元,不適合用於在通路間做比較。除了毛利之外,您需要將毛利除以銷售量來計算毛利率。

在 Cube 設計師中,按一下 [計算] 索引標籤 (左邊數來第三個索引標籤)。然後按一下工具列上的 [新增導出成員],這是左邊數來第五個按鈕。在 [名稱] 文字方塊中輸入 [Internet Gross Margin]。

名稱包含空格時就需要使用方括弧。在 [運算式] 文字方塊中,輸入 [Internet Sales] - [Internet Cost],接著在 [格式字串] 下拉式清單中,選取 [Currency (貨幣)]。現在重複上述步驟來加入計算,如 [圖 6] 所示。

名稱 運算式 格式字串
[Reseller Gross Margin] [Reseller Sales] - [Reseller Cost] "Currency"
[Internet Gross Margin Pct] [Internet Gross Margin] / [Internet Sales] "Percent"
[Reseller Gross Margin Pct] [Reseller Gross Margin] / [Reseller Sales] "Percent"

[圖 6] 加入計算到 Cube

從 BIDS 部署 Analysis Services 資料庫

到目前為止,雖然您已經建置了在伺服器上建立 SSAS 資料庫所需的物件,但資料庫本身尚不存在。您在 BIDS 中執行的設計工具所產生的 XML 檔案必須部署到伺服器。

一旦部署這些檔案之後,您就可以處理資料庫,這麼做會執行建置 XML 檔案定義的儲存結構所需的命令,以及執行指定資料來源的查詢以填入這些結構。

在 BIDS 內,您可以在 [方案總管] 中以滑鼠右鍵按一下專案,然後按一下 [部署] 啟動所有這些活動。[部署進度] 視窗隨即開啟並顯示它執行的每一個步驟,以及步驟成功或失敗。

部署完專案之後,您仍然可以在設計工具中進行變更。只要像上述那樣再次部署專案,然後將變更移到伺服器並啟動作業即可。出現要覆寫資料庫的提示時,如果您確定自己是資料庫的唯一變更者,請按 [是]。

有時候您所做的變更不會觸發在部署後處理資料庫的命令。在這種情況下,只要以滑鼠右鍵按一下您變更的維度或 Cube,接著按一下 [處理],再按 [執行] 即可。如果您處理的維度使用 [完整處理] 選項 (對維度進行重大的結構性變更時必須使用此選項),您可能也需要處理 Cube。

在 BIDS 中瀏覽 Cube

在開發的各個階段,只要您成功部署和處理解決方案,就可以從使用者角度檢閱您的進度。在 Cube 設計師中,按一下 [瀏覽] 索引標籤。左側窗格以中繼資料樹狀目錄顯示 SSAS 資料庫中的物件 (如 [圖 7] 所示)。樹狀目錄的頂端節點是 Cube。展開 [Measures (量值)] 節點和它包含的資料夾以檢視所有可用的量值,接著展開 [Order Date (訂單日期)] 與 [Product (產品)] 節點來檢視這些維度中的屬性。

Sales cube

[圖 7] 銷售 Cube 中繼資料樹狀目錄

您可能會好奇,您只有建立一個 Date (日期) 維度,為何 Cube 會包含 Due Date (到期日)、Order Date (訂單日期) 及 Ship Date (出貨日期)。這些 Cube 維度稱為角色扮演維度,因為它們代表相同維度的不同邏輯版本。

當您加入 Date (日期) 維度時,這些 Cube 維度會自動出現在 Cube 中,因為事實資料表包含三個不同的外部索引鍵資料行,它們全都會往回關聯到單一資料表,而 Date (日期) 維度便是根據此資料表分別追蹤訂單、出貨和到期事件(如果這些角色扮演日期不適用於分析,您可以在設計師的 [Cube 結構] 頁面上刪除不要的項目)。

若要檢視 Cube 資料,可從中繼資料樹狀目錄拖曳物件到設計師中央的方格。開始先將網際網路銷售拖曳到標籤為 [請將總和欄位或詳細資料欄位拖曳到這裡] 的區域。

接著重複這個程序,將 Internet Gross Margin Pct、Reseller Sales 及 Reseller Gross Margin Pct 加入方格中。此簡單查詢的結果現在已經顯示在 Cube 瀏覽器中 (如 [圖 8] 所示),您可以看到 [網際網路銷售] 比 [轉售商銷售] 的獲利高很多。

Query result

[圖 8] Cube 瀏覽器的查詢結果

您可以將屬性拖曳到資料列、資料行或篩選器 (統稱為軸線) 的方格區段,或將屬性和量值拖離方格,藉此繼續探索這些結果。BI 使用者將物件加入軸線以精簡查詢的作業稱為交叉分析 (slice and dice),這是一種不需要撰寫任何程式碼來查詢資料的快速方法。例如,若要按年度分割,將 Order Date.Year 拖曳到標籤為 [將列欄位拖曳到這裡] 的區段。

由於 Order Date.Year 是階層 (以金字塔形圖示表示),您可以展開一個或多個年度,按照季度來向下鑽研。同樣地,您可以拖曳 Categories (類別) 到量值上方的資料行軸線來按照類別細分。

將物件放到資料列或資料行之後,您可以按一下標題中的箭號來篩選項目清單。若要從方格移除元件,請按一下 Category (類別) 標題中的箭號,清除 [元件] 核取方塊,再按 [確定]。接著,若要簡化檢視,請將 [網際網路銷售] 和 [轉售商銷售] 拖離方格。您現在可以按照年度和季度以及產品類別來輕鬆比較網際網路與轉售商通路的獲利情況,如 [圖 9] 所示。

Profitability

[圖 9] 按照年度和季度以及按照類別的銷售通路獲利率

與使用者共用 Cube

根據預設,Cube 只能由伺服器管理員存取。但是,一旦 Cube 部署到 Analysis Server 之後,您就可以設定權限授權使用者存取 Cube,讓使用者能夠使用最愛的工具來瀏覽 Cube。Microsoft Excel 2007 是互動式瀏覽的常見選項,但您也可以使用 Reporting Services 來散發以 Cube 資料為基礎的報告,我將另闢專文來討論。

運用您的新技能

使用了範例 AdventureWorks 資料建置小型資料庫之後,您應該建置一個簡單的 Cube,將您的學習成果運用到自己的資料上。如果您有一個設計簡單且相當小型的資料集 (比方說,所含的資料列不超過幾百萬列),就不需要建置和維護資料超市,可以直接建置資料庫。只要使用讓資料結構盡可能近似星狀結構描述的具名查詢,設定資料來源檢視來查詢來源即可。如果您的資料來源具有新資料,您可以直接執行 SSAS 資料庫的完整處理,以便維持與資料來源的最新狀態。

如果您有更多資料要放入 Cube,您應該到線上叢書或其他資源閱讀更多關於 SSAS 的資訊,因為本文只說明了建置簡單 Cube 所需了解的最基本內容。譬如說,在本文開頭,我提到 SSAS 有一項好處是彙總管理,但是有關此主題的更詳盡說明已經超出本文範圍。

若要進一步了解彙總和其他進階主題的詳細資訊,您可以閱讀我的一位好友 Scott Cameron 最近出版的《Microsoft SQL Server 2008 Analysis Services Step by Step》(Microsoft Press,2009 年),他曾在多年前對我敘述過他的商務智慧職涯。您現在建置了第一個 Cube 之後,請繼續增強您的技能,以便開發更進階的 Cubes 並充分運用 Microsoft BI 平台。

Stacia Misner*,身兼 BI 顧問、教育者和作者,同時也是 Data Inspirations 的創辦人與主事者。她在 IT 產業已有 25 年的經驗,其中有九年專注於 Microsoft BI 堆疊方面。Misner 撰寫過多本關於 BI 與 SQL Server 的著作。她的近作《Microsoft SQL Server 2008 Reporting Services Step by Step》(Microsoft Press,2009 年) 於今年初出版。您可以透過 smisner@datainspirations.com 與她連絡。*

 

其他資源

Analysis Services Development (線上叢書)
msdn.microsoft.com/library/bb500183.aspx

Analysis Services Security (線上叢書)
msdn.microsoft.com/library/ms175386.aspx

Analysis Services 2008 Videos (線上叢書)
msdn.microsoft.com/library/dd299422.aspx