商業(yè)智能:構建您的第一個多維數(shù)據(jù)集 |
發(fā)布時間: 2012/9/3 17:20:09 |
我將通過創(chuàng)建一個包含自己的數(shù)據(jù)采樣的簡單多維數(shù)據(jù)集,向用戶介紹 Microsoft SQL Server Analysis Services。但當我這么做時一定要當心,因為在新用戶為自己看到的東西感到興奮并且想要馬上按照以前從不認為有可能的方式研究數(shù)據(jù)時,我曾不止一次地被人推到一邊。無論您是想讓自己的數(shù)據(jù)更易于瀏覽,還是希望用戶社區(qū)能支持大量數(shù)據(jù),您都將發(fā)現(xiàn) SQL Server Analysis Services (SSAS) 會提供一些工具。 本文是系列文章的第三部分;前兩篇文章發(fā)表在 2009 年 8 月刊中,可在 technet.microsoft.com/magazine/ee263919.aspx 上找到。這個系列通過在您生成簡單 BI 解決方案時使用 Microsoft SQL Server 2008 中提供的組件,幫助您更好地理解商業(yè)智能 (BI)。因為我將參考前面兩篇文章中所介紹的概念和技術,所以如果您尚未閱讀這兩篇文章,建議您先花一些時間來回顧這些文章。 在“規(guī)劃您的第一個 BI 解決方案”中,我解釋了構建數(shù)據(jù)市場相對于直接從企業(yè)數(shù)據(jù)庫檢索數(shù)據(jù)的優(yōu)勢。我還提供了下載所需的示例數(shù)據(jù)庫的說明,以便您可以按照這些文章中描述的步驟進行操作。隨后,Derek Comingore 在“為 BI 解決方案構建數(shù)據(jù)基礎”中解釋了如何使用 Integration Services 向數(shù)據(jù)市場填充企業(yè)數(shù)據(jù)庫中的數(shù)據(jù)。在本文中,我將向您演示如何基于類似的數(shù)據(jù)市場設計構建多維數(shù)據(jù)集。 您為什么應該構建多維數(shù)據(jù)集?我的第一篇文章總結了為什么要將數(shù)據(jù)移出您的企業(yè)數(shù)據(jù)庫并移入稱作“數(shù)據(jù)市場”的結構中。查詢數(shù)據(jù)市場當然具有其好處,并可能足以滿足一些方案,但通過再一次重新將數(shù)據(jù)打包到一個稱作多維數(shù)據(jù)集的結構中,可另外實現(xiàn)一些好處。實際上,數(shù)據(jù)市場作為數(shù)據(jù)通向其多維數(shù)據(jù)集中的最終目的地的中轉站而存在,因此它在整個解決方案中仍然非常重要。 構建用來存儲數(shù)據(jù)的多維數(shù)據(jù)集的另一個好處是,對于不能輕松存儲在關系數(shù)據(jù)市場中的計算而言,您可以集中管理其業(yè)務規(guī)則。此外,多維數(shù)據(jù)集結構可使編寫用于對比逐年數(shù)據(jù)的查詢的任務輕松很多,或者可使創(chuàng)建累積值(如今年迄今為止的銷售量)的任務輕松很多。 而且,您可獲得透明管理多維數(shù)據(jù)集中的聚合數(shù)據(jù)的能力。為了提高包含大量數(shù)據(jù)的關系數(shù)據(jù)市場中的查詢性能,數(shù)據(jù)庫管理員經(jīng)常會創(chuàng)建匯總表,以便為不需要事務級別詳細信息的查詢準備數(shù)據(jù)。SSAS 創(chuàng)建匯總表的邏輯等價表(稱作“聚合”)并使它們保持最新。 本文中我將繼續(xù)介紹第一篇文章中介紹的方案。這些方案為通過這個系列構建的 BI 解決方案定義基本分析目標。該解決方案必須能夠演示哪個銷售渠道對于 Adventure Works、Internet Sales 或 Reseller Sales 更加有利可圖,以及銷售趨勢是否指示特定產(chǎn)品的需求量正在增長或正在下降。BI 解決方案的源數(shù)據(jù)是 AdventureWorksDW2008 數(shù)據(jù)庫,該數(shù)據(jù)庫應用 Derek 的文章中描述的維度建模和 ETL 準則。 您可以從 CodePlex(地址為 msftdbprodsamples.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=18407)下載用于構建適合 Adventure Works 的解決方案的示例數(shù)據(jù)庫。利用作為源提供的數(shù)據(jù)市場,您隨時可以構建 Analysis Services 2008 數(shù)據(jù)庫。 準備 Analysis Services 數(shù)據(jù)庫第一步是在 Business Intelligence Development Studio (BIDS) 中創(chuàng)建項目。從 Microsoft SQL Server 2008 程序組中啟動 BIDS,單擊“文件”|“新建”|“項目”。在“新建項目”對話框中,選擇“Analysis Services 項目”。在“名稱”文本框中,鍵入 ssas_TECHNET_AW2008,然后根據(jù)需要更改項目的位置。單擊“確定”創(chuàng)建項目。 現(xiàn)在,添加一個數(shù)據(jù)源來定義數(shù)據(jù)市場的連接字符串。在解決方案資源管理器中,右鍵單擊“數(shù)據(jù)源”文件夾,然后單擊“新建數(shù)據(jù)源”。在“數(shù)據(jù)源向導”中,在“歡迎使用”頁上單擊“下一步”(如果尚未禁用)。在“選擇如何定義連接”頁上,單擊“新建”來設置新連接。在“連接管理器”中,默認值是 SQL Server Native Client。此值對于此項目是正確的,但您還可以使用 OLE DB 或 .NET 提供程序來訪問其他類型的數(shù)據(jù)。 若要定義連接,請在“服務器名稱”文本框中鍵入您的服務器名稱,或從下拉列表中選擇名稱,然后在數(shù)據(jù)庫下拉列表中選擇“AdventureWorksDW2008”,并單擊“確定”。當您返回到“數(shù)據(jù)源向導”中時,單擊“下一步”。在“模擬信息”頁上,選擇“使用服務帳戶”選項。服務帳戶用于在將數(shù)據(jù)加載到您的 SSAS 數(shù)據(jù)庫時從源中讀取數(shù)據(jù),且其必須具有讀權限才能執(zhí)行此操作。單擊“下一步”,然后單擊“完成”結束向導。 創(chuàng)建數(shù)據(jù)源視圖接下來,您將創(chuàng)建數(shù)據(jù)源視圖 (DSV) 作為數(shù)據(jù)源中表或視圖的抽象,您需要使用它來定義維度和多維數(shù)據(jù)集。如果您僅具有對數(shù)據(jù)市場的讀權限并且無法在源處進行更改,則您可以方便地更改 DSV,而不用修改基礎數(shù)據(jù)源。在解決方案資源管理器中,右鍵單擊“數(shù)據(jù)源視圖”文件夾,然后單擊“新建數(shù)據(jù)源視圖”。 如有需要,在“歡迎使用”頁上單擊“下一步”。在“選擇數(shù)據(jù)源”頁上,選擇您剛剛添加到項目的數(shù)據(jù)源,并單擊“下一步”。通過雙擊所需的每個表或視圖向 DSV 添加對象。若要創(chuàng)建能幫助您回答本文開頭所提出的 BI 問題的 DSV,請向 DSV 添加下列表:DimDate、DimProduct、DimProductCategory、DimProductSubcategory、FactInternetSales 和 FactResellerSales。當您在學習如何使用 SSAS 時,最好從簡單的 DSV 學起。如果需要支持 BI 解決方案的其他問題,您始終可以在以后添加更多表。當您添加完表后,在“數(shù)據(jù)源視圖向導”中單擊“下一步”,然后單擊“完成”。 建議您,通過在 DSV 設計器的“表”窗格中選擇每個表,并從每個表的 FriendlyName 屬性中刪除 Dim 和 Fact 前綴來簡化表的名稱。然后,您用來創(chuàng)建維度和多維數(shù)據(jù)集的向導將使用 FriendlyName 屬性中的值向對象分配名稱。圖 1 中顯示了完整的 DSV。 圖 1:數(shù)據(jù)源視圖 除了在 DSV 中更改表的屬性之外,如果物理源沒有定義表之間的邏輯主鍵或邏輯關系,則您還可以定義它們。如果這些定義在數(shù)據(jù)層未物理就緒或在 DSV 中未邏輯就緒,則 SSAS 將無法正確顯示數(shù)據(jù)。您還可以添加命名計算,就好像向視圖中添加派生列一樣,也可以將表對象替換為命名查詢,就好像創(chuàng)建視圖一樣。 準備在 SSAS 中構建日期維度時,您需要向 Date 表添加兩個命名計算(Quarter 和 Month),以將年份列與季度列和月份列連接起來。否則,當您要查看匯總數(shù)據(jù)時,數(shù)據(jù)將不會按照月份、季度和年份正常累積。若要為 Quarter 添加命名計算,請在設計器或“表”窗格中右鍵單擊 Date 表,再單擊“新建命名計算”。在“列名稱”文本框中鍵入 Quarter。在“表達式”文本框中鍵入以下表達式: 'Qtr ' + convert(char(1), CalendarQuarter) + ' ' + convert(char(4), CalendarYear) 單擊“確定”,現(xiàn)在重復上述步驟來為 Month 添加命名計算,使用的表達式是: left(EnglishMonthName, 3) + ' ' + convert(char(4), CalendarYear) 請注意,設計器中的 Date 表(如圖 2 中所示)顯示帶有計算器圖標的命名計算,以將它們與表中物理存在的列進行區(qū)分。通過右鍵單擊表并單擊“瀏覽數(shù)據(jù)”,可以查看添加命名計算的效果。BIDS 中將打開一個新窗口以顯示源表中的數(shù)據(jù)。 一直滾動到右側時,您可以看到命名計算的值。在您繼續(xù)構建維度之前,始終應使用“瀏覽數(shù)據(jù)”命令確認命名計算按預期方式顯示。 在 Analysis Services 中定義維度向 DSV 添加維度表后,您即可在 SSAS 數(shù)據(jù)庫中創(chuàng)建維度。請注意,您使用維度可存儲有關業(yè)務實體的信息,如人員、地點和事物。若要能回答本文開頭所提出的 BI 問題,您需要為 Date 和 Product 創(chuàng)建維度。 圖 2 帶有命名計算的 Date 表 在任一情況下,您需要為事務表中的數(shù)據(jù)提供一個開始日期和一個結束日期。SSAS 可以在數(shù)據(jù)源中創(chuàng)建并填充一個物理表,然后使用此數(shù)據(jù)源填充在 SSAS 數(shù)據(jù)庫中維護的維度,也可以簡單地在 SSAS 數(shù)據(jù)庫單獨維護維度。 當您需要能夠支持對數(shù)據(jù)源的關系查詢時,您可以選擇生成物理表。單擊“下一步”繼續(xù)。 在“指定源信息”頁上,從“主表”下拉列表中選擇“日期”。注意,鍵列是 DateKey。該鍵列必須唯一標識表中的每條記錄,以便 SSAS 返回查詢結果時能夠正確地對數(shù)據(jù)進行聚合或分組。然后,在“名稱列”下拉列表中選擇“FullDateAlternateKey”。SSAS 將名稱列用作標簽顯示給用戶,而不是顯示鍵列。 單擊“下一步”。 在“選擇維度屬性”頁上,選擇要包括在維度中的屬性,然后使用這些屬性定義層次結構或其他分組標簽。 是否包括維度表中的所有屬性取決于您要在 BI 解決方案中支持的問題類型。應僅添加所需數(shù)量的屬性以確保 SSAS 以最優(yōu)方式執(zhí)行,從而避免消耗不必要的存儲空間并避免太多選項給用戶造成混淆。對于此維度,請選擇“Calendar Year”、“Quarter”和“Month”。單擊“下一步”,然后單擊“完成”。 若要確?梢晕ㄒ粯俗R每個屬性,請更新 KeyColumn 屬性。通過將此屬性設置為鍵列,確保 Month 按數(shù)字順序正確排序,而不是按月份名稱的字母順序排序(默認排序順序)。 若要更新 KeyColumn 屬性,請在左側的“屬性”窗格中選擇“Month”。在“屬性”窗口中,單擊“KeyColumns”屬性,然后單擊省略號按鈕。在“鍵列”對話框中,單擊左箭頭清除當前分配,然后雙擊 CalendarYear 和 MonthNumberOfYear。現(xiàn)在,通過單擊 NameColumns 屬性框中的省略號按鈕,為此屬性分配一個標簽。選擇“EnglishMonthName”,并單擊“確定”。 重復上述步驟,將 Quarter 屬性的 KeyColumns 屬性設置為 CalendarYear 和 CalendarQuarter,并將 NameColumns 屬性設置為 Quarter。 圖 3 設計器中顯示的日期維度 您可以看到維度及其關聯(lián)屬性,包括左側“屬性”窗格中的鍵屬性。如果您決定稍后添加更多屬性,則可以將這些屬性從“數(shù)據(jù)源視圖”窗格逐一拖到“屬性”窗格。您只有在啟動新維度時才會使用“維度向導”,但稍后可在維度設計器中進行任何所需的更改。 現(xiàn)在,使用“維度向導”創(chuàng)建 Product 維度,將 Product 用作主表,并將 EnglishProductName 用作名稱列。因為 Product 維度是雪花型架構,所以該向導包含一個附加頁面來確認您想要包括相關表 ProductSubcategory 和 ProductCategory。 接下來,向維度添加 Color 和 Size 屬性。請注意,該向導將自動為雪花型表選擇鍵列 Product Subcategory Key 和 Product Category Key。您需要在這些屬性對應的名稱列中添加,但必須首先完成該向導,然后您才能修改屬性。 當顯示維度設計器時,選擇“屬性”窗格中的“Product Category Key”。在“屬性”中,找到“Name”屬性,將名稱更改為“Category”。在“屬性”窗口中向下滾動,找到“NameColumn”屬性。 在屬性文本框中單擊以顯示省略號按鈕,單擊此按鈕,選擇 EnglishProductCategoryName,然后單擊“確定”,F(xiàn)在,重復上述步驟,將 Product Subcategory Key 重命名為 Subcategory,并將 EnglishProductSubcategoryName 指定為其名稱列。最后,將 Product Key 屬性重命名為 Product。 添加層次結構請注意在“屬性”窗格中維度名稱 Product 下面顯示的藍色波浪線。當您將光標放在此線上方時,將出現(xiàn)一條警告消息“在非父子維度中創(chuàng)建層次結構。”此消息是內(nèi)置在 SSAS 2008 中的最佳做法警告的一個示例,可幫助您正確構建 SSAS 數(shù)據(jù)庫。通過單擊文檔工作區(qū)中的相應選項卡,或雙擊解決方案資源管理器中的 Date.dim,返回到 Date 維度設計器,在那里您將會看到相同的警告。 出于幾個原因,尤其是出于用戶友好和優(yōu)化目的,將層次結構添加到維度是公認的最佳做法。更具體地講,層次結構為用戶提供從匯總數(shù)據(jù)到詳細數(shù)據(jù)要遵循的導航路徑。此外,通過允許 SSAS 在用戶查詢之間計算和存儲聚合,還可提高查詢性能。 例如,如果用戶希望按年份查看經(jīng)銷商銷售額,而且 Date 維度中的層次結構定義從鍵屬性 (Date Key) 到 Calendar Year 屬性的匯總路徑,則 SSAS 可以在處理過程中按年份計算銷售數(shù)據(jù),然后將結果放入永久存儲中。此聚合存儲避免了查詢時計算每年銷售額的需要,而且這是與從關系數(shù)據(jù)市場檢索數(shù)據(jù)或從多維度數(shù)據(jù)庫(如 SSAS)檢索數(shù)據(jù)的主要區(qū)別。 若要向 Date 維度添加層次結構,請在維度設計器中,將 Calendar Year 屬性從“屬性”窗格拖到“層次結構”窗格。在您添加第一個屬性后,將出現(xiàn)一個層次結構對象,并且在剛剛添加的屬性下面有一個新的空級別。通過將 Quarter 和 Month 屬性分別放入空級別的空間內(nèi),將這兩個屬性添加到層次結構中。接下來,通過右鍵單擊“層次結構”,再單擊“重命名”并鍵入“Year”來重命名層次結構。 盡管您添加了一個層次結構,但仍然出現(xiàn)關于 Date 維度的警告。將光標放在波浪線上可看到新警告“避免將屬性的可見屬性層次結構用作用戶定義的層次結構中的級別。”這條消息建議您防止用戶在屬性已包含在層次結構中時查看屬性本身。換句話說,用戶只有在層次結構內(nèi)部進行導航時才能查看屬性。 根據(jù)我的經(jīng)驗,您應該結合用戶做出這個決定。如果您決定處理此警告,則選擇“屬性”窗格中的“Quarter”,然后在“屬性”窗口中,將 AttributeHierarchyVisible 值更改為 False。 屬性關系在層次結構本身上顯示另一條警告。在這種情況下,此消息將警告可能引發(fā)了性能問題,因為層次結構的一個或多個級別之間的屬性關系丟失。屬性關系由 SSAS 用來優(yōu)化查詢性能和聚合設計,以減少維度所需的存儲量并加快數(shù)據(jù)庫處理時間。 單擊維度設計器中的“屬性關系”選項卡。(請注意,僅當您在使用 Analysis Services 2008 時此選項卡才可用。)默認情況下,所有屬性直接與鍵屬性 Date Key 相關。若要通過重新分配關系優(yōu)化設計,則將 Month 對象拖到 Quarter 對象,然后將 Quarter 對象拖到 Year 對象,F(xiàn)在,設計器中的關系正確表示了從左至右每個級別兩兩之間的多對一關系,如圖 4 中所示。 圖 4 屬性關系 接下來,向自上而下包含 Category、Subcategory 和 Product 的名為 Categories 的 Product 維度添加層次結構。創(chuàng)建層次結構之后,您會發(fā)現(xiàn)無需修復各級別之間的屬性關系,這是因為 DSV 中已經(jīng)定義了表與表之間的外鍵關系。不過,您可以根據(jù)需要將 AttributeHierarchyVisible 屬性值設置為 False。 現(xiàn)在,您的項目便包含了兩個已正確定義層次結構和屬性關系的維度。隨著您更多地了解維度設計,您將會發(fā)現(xiàn),可通過多個屬性來優(yōu)化性能和控制用戶界面中的特定行為。 另外,在更為復雜的 BI 解決方案中可能會存在更多維度。不過,此時您已掌握了維度的基本知識,并且具備了繼續(xù)通過創(chuàng)建多維數(shù)據(jù)集來構建可用解決方案所需的內(nèi)容。 創(chuàng)建多維數(shù)據(jù)集與使用“維度向導”開始定義維度的過程相同,您可以使用“多維數(shù)據(jù)集向導”開始創(chuàng)建多維數(shù)據(jù)集。在解決方案資源管理器中,右鍵單擊“多維數(shù)據(jù)集”文件夾,單擊“新建多維數(shù)據(jù)集”,然后在“歡迎使用”頁上單擊“下一步”(如果適用)。在“選擇創(chuàng)建方法”頁上,保留默認選項。(如果您有一個設計需要手動創(chuàng)建或使用模板創(chuàng)建,則可以使用另外兩個選項,然后讓 SSAS 基于該設計在數(shù)據(jù)源中生成表。這需要您使用 Integration Services 填充數(shù)據(jù),然后才可以瀏覽您的多維數(shù)據(jù)集。)單擊“下一步”。 在“選擇度量值組表”頁上,選擇“Internet Sales”和“Reseller Sales”,并單擊“下一步”。(度量值組表與事實數(shù)據(jù)表同步。)然后,該向導將顯示在所選度量值組表中找到的所有數(shù)字列。按照您到目前為止一直采用的簡單方法,通過清除頁面頂部的“度量值”復選框來清除所有度量值,然后從每個組(Internet Sales 和 Reseller Sales)中選擇以下度量值:Order Quantity、Total Product Cost 和 Sales Amount。 您還可重命名此頁上的度量值。只需右鍵單擊度量值名稱并鍵入新的名稱,但要確保每個度量值名稱唯一。度量值名稱應當簡短,但不能太短而讓人難懂。重命名 Internet Sales 組中的度量值,如下所示:Internet Order Quantity、Internet Cost 和 Internet Sales。同樣,將 Reseller Sales 度量值重命名為 Reseller Order Quantity、Reseller Cost 和 Reseller Sales。單擊“下一步”。 在“選擇現(xiàn)有維度”頁上,向導將顯示您已創(chuàng)建的維度。單擊“下一步”。如果 DSV 中有任何表尚未作為度量值組表引用或被現(xiàn)有維度引用,則將顯示“選擇新維度”頁,以允許您快速添加您可能需要的任何其他維度。在這種情況下,清除 Internet Sales 和 Reseller Sales,因為您無需隨維度一起創(chuàng)建這些表。(盡管從技術上說這些是度量值組表,但如果表中存在銷售訂單數(shù),則可以創(chuàng)建維度以支持按照銷售訂單數(shù)來報告或分析銷售額。) 單擊“下一步”,將多維數(shù)據(jù)集重命名為 Sales,然后單擊“完成”?上部少R! 您已成功構建了一個簡單的多維數(shù)據(jù)集!多維數(shù)據(jù)集設計器將在左側窗格中顯示已添加到多維數(shù)據(jù)集的度量值組和維度,并在右側窗格中顯示源 DSV,如圖 5 中所示。 圖 5 顯示度量值組和維度的多維數(shù)據(jù)集設計器 構建多維數(shù)據(jù)集之后要執(zhí)行的第一步就是設置每個度量值的 FormatString 屬性,以便更容易地在多維數(shù)據(jù)集瀏覽器中查看值。執(zhí)行此操作最快捷的方法就是在網(wǎng)絡中查看度量值。在多維數(shù)據(jù)集設計器的工具欄中,單擊從左數(shù)的第五個按鈕以從“樹視圖”切換到“網(wǎng)格視圖”。在“網(wǎng)格視圖”中,您可使用 Ctrl 鍵來一次選擇多個度量值。首先,選擇“Internet Order Quantity”和“Reseller Order Quantity”。在“屬性”窗口的“FormatString”下拉列表中,選擇“標準”。然后,選擇所有其余度量值以將 FormatString 屬性設置為 Currency。 添加計算SSAS 的一項強大功能就是可以使用多維表達式語言 (MDX) 添加計算。如果您能在 Excel 中編寫公式,則可以使用簡單 MDX 表達式在多維數(shù)據(jù)集中創(chuàng)建計算。有關更多復雜的表達式,您需要花費一些時間通過學習和大量實踐來了解 MDX。 請記住,此解決方案的設計目標之一就是通過銷售渠道來度量收益。多維數(shù)據(jù)集此時包含您計算收益所需的度量值:Internet Cost、Internet Sales、Reseller Cost 和 Reseller Sales。銷售與成本之間的差異就是毛利,但這種計算提供的是絕對美元數(shù),對渠道之間的對比毫無用處。除了毛利,您還需要通過用銷售額除以毛利來計算毛利潤率。 在多維數(shù)據(jù)集設計器中,單擊“計算”選項卡,即從左起的第三個選項卡。然后單擊工具欄上的“新建計算成員”按鈕,即從左起的第五個按鈕。在“名稱”文本框中,鍵入“[Internet Gross Margin]”。 當名稱包含空格時,需使用括號。在“表達式”文本框中,鍵入“[Internet Sales] - [Internet Cost]”,然后在“格式字符串”下拉列表中選擇“Currency”,F(xiàn)在重復上述步驟以添加圖 6 中顯示的計算。
圖 6 向多維數(shù)據(jù)集添加計算 從 BIDS 部署 Analysis Services 數(shù)據(jù)庫到目前為止,雖然您已構建了在服務器上創(chuàng)建 SSAS 數(shù)據(jù)庫所需的對象,但該數(shù)據(jù)庫本身還不存在。您在 BIDS 中執(zhí)行的設計任務將產(chǎn)生必須部署到服務器的 XML 文件。 部署這些文件后,您即可處理數(shù)據(jù)庫,包括執(zhí)行構建 XML 文件所定義的存儲結構所需的命令,以及通過執(zhí)行對指定數(shù)據(jù)源的查詢填充這些結構。 在 BIDS 內(nèi),通過右鍵單擊解決方案資源管理器中的項目然后單擊“部署”,可啟動所有這些活動。“部署進度”窗口將打開,以向您顯示其執(zhí)行的每個步驟以及對應步驟成功與否。 部署完項目后,您仍可在設計器中進行更改。只需按照上述操作再次部署項目,即可將您的更改移動到服務器并啟動處理過程。當系統(tǒng)提示將覆蓋您的數(shù)據(jù)庫時,如果您確定自己是唯一一個對數(shù)據(jù)庫進行更改的用戶,則單擊“是”。 有時您在部署后進行的更改將不會觸發(fā)處理數(shù)據(jù)庫的命令。在這種情況下,只需右鍵單擊您所更改的維度或多維數(shù)據(jù)集,然后單擊“處理”和“運行”。如果您使用“處理全部”選項(對維度做出重大結構更改時,此選項是必需的)來處理維度,則您還可能需要處理多維數(shù)據(jù)集。 在 BIDS 中瀏覽多維數(shù)據(jù)集在部署的每個階段,只要成功部署并處理了解決方案,您就可從用戶的角度查看進度。在多維數(shù)據(jù)集設計器中,單擊“瀏覽器”選項卡。左側窗格以元數(shù)據(jù)樹結構顯示 SSAS 數(shù)據(jù)庫中的對象(如圖 7 中所示)。樹頂部的節(jié)點表示多維數(shù)據(jù)集。展開 Measures 節(jié)點及其包含的文件夾以查看所有可用的度量值,然后展開 Order Date 和 Product 節(jié)點以查看這些維度中的屬性。 圖 7 Sales 多維數(shù)據(jù)集元數(shù)據(jù)樹 當您只創(chuàng)建一個 Date 維度時,您可能想知道為什么多維數(shù)據(jù)集會包含 Due Date、Order Date 和 Ship Date。這些多維數(shù)據(jù)集維度稱為“角色扮演維度”,因為它們表示同一維度的不同邏輯形式。 當您包含 Date 維度時,它們會自動顯示在多維數(shù)據(jù)集中,這是因為事實表包含三個不同的外鍵列,而這三個外鍵列反過來全部與 Date 維度基于的單個表相關,以便單獨跟蹤訂單、發(fā)貨和到期事件。(如果這些角色扮演日期對分析沒有任何幫助,則您可刪除設計器的“多維數(shù)據(jù)集結構”頁上不需要的任何日期。) 若要查看多維數(shù)據(jù)集數(shù)據(jù),請將對象從元數(shù)據(jù)樹中拖動到設計器的中心窗格。首先,將 Internet Sales 拖動到標記為 Drop Totals 或 Detail Fields Here 的區(qū)域。 然后,重復此過程以將 Internet Gross Margin Pct、Reseller Sales 和 Reseller Gross Margin Pct 添加到網(wǎng)格中,F(xiàn)在此簡單查詢的結果顯示在多維數(shù)據(jù)集瀏覽器中(如圖 8 中所示),您可以看到 Internet Sales 的收益要比 Reseller Sales 大很多。 圖 8 多維數(shù)據(jù)集瀏覽器中的查詢結果 您可通過將屬性拖動到行、列或篩選器(統(tǒng)稱為“軸”)的網(wǎng)格部分,或將屬性和度量值拖出網(wǎng)格,從而繼續(xù)研究這些結果。將對象添加到軸以優(yōu)化查詢的過程稱為“BI 用戶分割與切片”,這也是在無需編寫任何代碼的情況下查詢數(shù)據(jù)非?焖俚姆椒。例如,若要按年分隔,則將 Order Date.Year 拖到標記為 Drop Row Fields Here 的部分。 因為 Order Date.Year 是由一個金字塔形圖標指示的層次結構,所以您可以通過展開一個或多個年份,向下鉆取以按季度進行分割。同樣,您也可以通過將 Categories 拖到度量值上面的列軸來按類別進行切片。 將對象置于行或列上之后,您可通過單擊標題中的箭頭,對項目列表進行篩選。若要刪除網(wǎng)格中的“組件”,請單擊 Category 標題中的箭頭,清除“組件”復選框并單擊“確定”。接下來,若要簡化視圖,請將 Internet Sales 和 Reseller Sales 拖出網(wǎng)格,F(xiàn)在,您可輕松將 Internet 渠道和 Reseller 渠道的收益按年份、季度和產(chǎn)品類別進行比較,如圖 9 中所示。 圖 9 按年份、季度和類別顯示的銷售渠道收益 與用戶共享多維數(shù)據(jù)集默認情況下,只有服務器管理員才可訪問多維數(shù)據(jù)集。但是,將您的多維數(shù)據(jù)集部署到 Analysis Server 之后,您即可設置權限,以授予用戶訪問多維數(shù)據(jù)集的權限,并允許用戶使用自己喜歡的工具瀏覽多維數(shù)據(jù)集。Microsoft Excel 2007 是進行交互性瀏覽的常見選擇,但您也可以使用 Reporting Services 來基于多維數(shù)據(jù)集數(shù)據(jù)分發(fā)報表,對此我會在以后的文章中作出解釋。 應用您的新技能現(xiàn)在,您已使用示例 AdventureWorks 數(shù)據(jù)構建了一個小型數(shù)據(jù)庫,您應該通過構建一個簡單的多維數(shù)據(jù)集,將所學的技能應用到您自己的數(shù)據(jù)中。如果您具有一個簡單的設計和相對較小的數(shù)據(jù)集(例如,不到幾百萬行),則您無需構建和維護數(shù)據(jù)市場,即可構建一個數(shù)據(jù)庫。只需設置一個數(shù)據(jù)源視圖,便可使用將數(shù)據(jù)盡可能構造為星型架構的命名查詢來查詢源。當您的數(shù)據(jù)源具有新數(shù)據(jù)時,您只需對 SSAS 數(shù)據(jù)庫執(zhí)行完全處理,即可使其與數(shù)據(jù)源保持同步。 如果您有更多數(shù)據(jù)要放入多維數(shù)據(jù)集中,則應在聯(lián)機叢書中閱讀有關 SSAS 的更多內(nèi)容以及其他資源,因為本文解釋的只是您構建簡單多維數(shù)據(jù)集需要知道的最基本的知識點。例如,在本文開頭,我提到了 SSAS 的一大好處是聚合管理,而要更多解釋這個主題則超出了本文的范圍。 通過閱讀最近由我的一位好友 Scott Cameron(多年前就與我一起開始了其商業(yè)智能生涯)出版的“Microsoft SQL Server 2008 Analysis Services Step by Step”(《Microsoft SQL Server 2008 Analysis Services 循序漸進》,Microsoft Press,2009),您可了解到有關聚合及其他高級主題的更多信息。現(xiàn)在,您既已構建了首個多維數(shù)據(jù)集,請繼續(xù)增強您的技能,以便可以開發(fā)更高級的多維數(shù)據(jù)集并充分利用 Microsoft BI 平臺。 本文出自:億恩科技【mszdt.com】 |