在這一課中,您將建立分割區,將因特網銷售表分割成較小的邏輯部分,這些部分可以獨立於其他分割區進行處理和重新整理。 根據預設,您在模型中所包含的每個資料表都有一個分區,其中包含所有的資料表的列和欄。 針對 [因特網銷售] 數據表,我們想要按年份將數據分割,每一年都有一個分區,共分成五個年度的分區。 然後,每個分割區都可以獨立處理。 若要深入瞭解,請參閱分割區(SSAS 表格式)。
完成本課程的估計時間: 15 分鐘
先決條件
本主題是表格式模型化教學課程的一部分,應該依序完成。 在本課程中執行工作之前,您應該已完成上一 課:第 10 課:建立階層。
** 建立分區
在 Internet Sales 表中建立分區
在模型設計工具中,按一下因特網銷售資料表,然後按一下資料表功能表,然後按一下分割區。
分區管理員 對話框隨即開啟。
在 [分區管理員] 對話框中的 [分區] 中,按一下 [因特網銷售] 分區。
在 [資料分割名稱] 中,將名稱變更為
Internet Sales 2005。小提示
在繼續進行下一個步驟之前,請注意 [表格預覽] 視窗中的欄位名稱會顯示包含在模型表中的欄位名稱(已勾選)及來源中的欄位名稱。 這是因為 [數據表預覽] 視窗會顯示源數據表中的數據行,而不是從模型數據表顯示。
選取預覽視窗右側的 [ 查詢編輯器 ] 按鈕。
因為您希望分割區只包含特定期間內的那些數據列,因此您必須包含 WHERE 子句。 您只能使用 SQL 語句來建立 WHERE 子句。
在 [SQL 語句 ] 字段中,將現有的 語句貼上下列語句來取代:
SELECT [dbo].[FactInternetSales].[ProductKey], [dbo].[FactInternetSales].[CustomerKey], [dbo].[FactInternetSales].[PromotionKey], [dbo].[FactInternetSales].[CurrencyKey], [dbo].[FactInternetSales].[SalesTerritoryKey], [dbo].[FactInternetSales].[SalesOrderNumber], [dbo].[FactInternetSales].[SalesOrderLineNumber], [dbo].[FactInternetSales].[RevisionNumber], [dbo].[FactInternetSales].[OrderQuantity], [dbo].[FactInternetSales].[UnitPrice], [dbo].[FactInternetSales].[ExtendedAmount], [dbo].[FactInternetSales].[UnitPriceDiscountPct], [dbo].[FactInternetSales].[DiscountAmount], [dbo].[FactInternetSales].[ProductStandardCost], [dbo].[FactInternetSales].[TotalProductCost], [dbo].[FactInternetSales].[SalesAmount], [dbo].[FactInternetSales].[TaxAmt], [dbo].[FactInternetSales].[Freight], [dbo].[FactInternetSales].[CarrierTrackingNumber], [dbo].[FactInternetSales].[CustomerPONumber], [dbo].[FactInternetSales].[OrderDate], [dbo].[FactInternetSales].[DueDate], [dbo].[FactInternetSales].[ShipDate] FROM [dbo].[FactInternetSales] WHERE (([OrderDate] >= N'2005-01-01 00:00:00') AND ([OrderDate] < N'2006-01-01 00:00:00'))此語句會指定數據分割應該在 OrderDate 為 2005 日曆年度的數據列中包含所有數據,如 WHERE 子句中所指定。
按一下 [驗證] 。
請注意,會顯示警告,指出來源中缺少特定欄位。 這是因為在 第 3 課:重新命名數據行中,您已將模型中 Internet Sales 數據表中的數據行重新命名為與來源的相同數據行不同。
在 Internet Sales 資料表中建立 2006 年的分區
在 分割區管理員 對話框的 分割區 中,點選您剛才建立的
Internet Sales 2005分割區,然後點選 複製。在 [資料分割名稱] 中,輸入
Internet Sales 2006。在 SQL 語句中,若要讓分割區只包含 2006 年的數據列,請將 WHERE 子句取代為下列專案:
WHERE (([OrderDate] >= N'2006-01-01 00:00:00') AND ([OrderDate] < N'2007-01-01 00:00:00'))
在 Internet Sales 表格中建立 2007 年的分區
在 [ 數據分割管理員] 對話框中,按兩下 [ 複製]。
在 [資料分割名稱] 中,輸入
Internet Sales 2007。在 [切換至] 中,選取 [查詢編輯器]。
在 SQL 語句中,若要讓分割區只包含 2007 年的數據列,請將 WHERE 子句取代為下列專案:
WHERE (([OrderDate] >= N'2007-01-01 00:00:00') AND ([OrderDate] < N'2008-01-01 00:00:00'))
在 Internet Sales 表格中建立 2008 年的分區
在 分割管理器 對話框中,點擊 新增。
在 [資料分割名稱] 中,輸入
Internet Sales 2008。在 [切換至] 中,選取 [查詢編輯器]。
在 SQL 語句中,若要讓分割區只包含 2008 年的數據列,請將 WHERE 子句取代為下列專案:
WHERE (([OrderDate] >= N'2008-01-01 00:00:00') AND ([OrderDate] < N'2009-01-01 00:00:00'))
在 Internet Sales 數據表中建立 2009 年的分區
在 分割區管理員 對話框中,單擊 新增。
在 [資料分割名稱] 中,輸入
Internet Sales 2009。在 [切換至] 中,選取 [查詢編輯器]。
在 SQL 語句中,若要讓分割區只包含 2009 年的數據列,請將 WHERE 子句取代為下列專案:
WHERE (([OrderDate] >= N'2009-01-01 00:00:00') AND ([OrderDate] < N'2010-01-01 00:00:00'))
進程分割區
在 [ 數據分割管理員] 對話框中,請注意您剛才建立之每個新分割區的數據分割名稱旁的星號 (*)。 這表示分割區尚未被處理或更新。 當您建立新的分割區時,應該執行進程分割區或進程數據表作業,以重新整理這些分割區中的數據。
處理網路銷售分區
按一下確定以關閉資料分割管理員對話框。
在模型設計工具中,按兩下 [因特網銷售 ] 數據表,然後按兩下 [ 模型 ] 功能表,然後指向 [ 處理 ](重新整理),然後按兩下 [ 處理數據分割]。
在 [ 行程分割區 ] 對話框中,確認 [模式 ] 設定為 [處理預設值]。
針對您所建立的五個分割區,選取 [ 處理 ] 數據行中的複選框,然後按兩下 [ 確定]。
如果系統提示您輸入模擬認證,請輸入您在第 2 課的步驟 6 中指定的 Windows 使用者名稱和密碼。
[ 資料處理] 對話框隨即出現,並顯示每個數據分割的進程詳細數據。 請注意,傳輸每個分割區的數據列數目不同。 這是因為每個分割區只包含 SQL 語句中 WHERE 子句中所指定年份的數據列。 2010 年沒有數據。
後續步驟
若要繼續進行本教學課程,請移至下一課:課程: 第 12 課:建立角色。