共用方式為


建立和管理本機分割區 (Analysis Services)

適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

您可以為量值群組建立其他分割區,以改善處理效能。 擁有多個分割區可讓您跨本機和遠端伺服器上的對應實體數據檔,配置事實數據。 在 Analysis Services 中,分割區可以獨立且平行處理,讓您更能控制伺服器上的處理工作負載。

您可以在模型設計期間或在使用 SQL Server Management Studio 或 XMLA 部署解決方案之後,在 SQL Server Data Tools 中建立數據分割。 我們建議您只選擇一種方法。 如果您在工具之間交替,當您後續從 SQL Server Data Tools 重新部署解決方案時,可能會覆寫對 SQL Server Management Studio 中已部署資料庫所做的變更。

開始之前

檢查您是否有商業智慧版或企業版。 Standard Edition 不支援多個分割區。 若要檢查版本,請在 SQL Server Management Studio 中的伺服器節點上按兩下滑鼠右鍵,然後選擇 [報表] | [一般]。 如需功能可用性的詳細資訊,請參閱 SQL Server 2016 版本所支援 功能

從一開始,請務必瞭解,如果您想要稍後合併分割區,就必須共用相同的匯總設計。 只有在數據分割具有相同的匯總設計和儲存模式時,才能合併數據分割。

提示

探索數據源檢視 (DSV) 中的數據,以瞭解您要分割的數據範圍和深度。 例如,如果依日期分割,您可以在日期數據行上排序,以判斷每個分割區的上限和下限。

選擇方法

建立數據分割時最重要的考慮是分割數據,讓沒有任何重複的數據列。 數據必須儲存在一個數據分割中,而且只有一個數據分割,以避免重複計算任何數據列。 因此,依 DATE 進行分割很常見,因此您可以定義每個分割區之間的清楚界限。

您可以使用任一技術,將事實數據分散到多個分割區。 下列技術可用來分割數據。

技術 建議
使用 SQL 查詢來分割事實數據 數據分割可以從 SQL 查詢進行來源。 在處理期間,SQL 查詢是擷取數據。 查詢的 WHERE 子句會提供篩選來分割每個分割區的數據。 Analysis Services 會為您產生查詢,但您必須填入 WHERE 子句,才能正確分割數據。

這種方法的主要優點是輕鬆分割單一源數據表的數據。 如果所有源數據都是來自大型事實數據表,您可以建置查詢,以將該數據篩選成離散分割區,而不需要在 [數據源檢視] 中建立其他數據結構。

其中一個缺點是使用查詢會中斷數據分割與 DSV 之間的系結。 如果您稍後更新 Analysis Services 專案中的 DSV,例如將數據行新增至事實數據表,則必須手動編輯每個分割區的查詢,以包含新的數據行。 接下來討論的第二種方法沒有這種缺點。
使用 DSV 中的數據表來分割事實數據 您可以將分割區系結至 DSV 中的數據表、具名查詢或檢視。 作為分割區的基礎,這三者在功能上都相等。 整個數據表、具名查詢或檢視會將所有數據提供給單一數據分割。

使用數據表、檢視或具名查詢會將所有數據選取邏輯放在 DSV 中,這在一段時間內更容易管理和維護。 這種方法的一個重要優點是會保留數據表系結。 如果您稍後更新源數據表,則不需要修改使用該數據表的分割區。 其次,所有具名查詢和檢視表的數據表都存在於一般工作區中,使得更新比必須個別開啟和編輯分割區查詢更方便。

選項 1:篩選多個分割區的事實數據表

若要建立多個分割區,您可以從修改預設分割區 Source 屬性開始。 根據預設,量值群組會使用系結至 DSV 中單一數據表的單一分割區來建立。 您必須先修改原始分割區,只包含事實數據的一部分,才能新增更多數據分割。 接著,您可以繼續建立其他分割區來儲存其餘的數據。

建構篩選,讓數據不會在分割區之間重複。 數據分割的篩選會指定在數據分割中使用事實數據表中的數據。 請務必從事實數據表擷取 Cube 中所有數據分割的篩選,擷取互斥數據集。 如果數據出現在多個分割區中,相同的事實數據可能會重複計算。

  1. 在 SQL Server Data Tools 的 [方案總管] 中,按兩下 Cube 以在 Cube 設計師中開啟它,然後按兩下 [數據分割] 索引標籤。

  2. 展開正在新增數據分割的量值群組。 根據預設,每個量值群組都有一個分割區,系結至 DSV 中的事實數據表。

  3. 在 [來源] 資料行中,按兩覽 (. .) 按鈕以開啟 [資料分割來源] 對話框。

    [資料分割] 窗格中的 [源數據行]

  4. 在 [系結類型] 中,選取 [查詢系結] 。 選取數據的 SQL 查詢會自動出現。

  5. 在底部的 WHERE 子句中,新增篩選來分割此分割區的數據。

    WHERE 子句語法的範例包括 WHERE OrderDateKey >= '20060101'WHERE OrderDateKey BETWEEN '20051001' AND '20051201'。 如需其他範例,請參閱 where WHERE (Transact-SQL)

    請注意,下列篩選條件在每個集合內互斥:

    設置 價值
    設定 1: “SaleYear” = 2012

    “SaleYear” = 2013
    設定 2: “Continent” = 'NorthAmerica'

    “Continent” = 'Europe'

    “Continent” = 'SouthAmerica'
    設定 3: “Country” = 'USA'

    “Country” = 'Mexico'

    (“國家”<> 'USA' and “Country” <> '墨西哥')
  6. 點選 「檢查 檢查語法錯誤,然後按下 [確定]

  7. 重複上述步驟以建立剩餘的數據分割,每次修改 WHERE 子句以選取下一個數據配量。

  8. 部署解決方案或處理分割區以載入數據。 請務必處理所有分割區。

  9. 流覽 Cube 以確認傳回正確的數據。

擁有使用多個量值群組的量值群組之後,您可以在 SQL Server Management Studio 中建立其他分割區。 在量值群組下,以滑鼠右鍵按兩下 [資料夾] 資料夾,然後選取 [[新增資料分割] 以啟動精靈。

注意

您可以使用相同的查詢,在 DSV 中建立名稱查詢,然後在具名查詢上建立數據分割,而不是篩選數據分割。

選項 2:使用數據表、檢視或具名查詢

如果 DSV 已將事實組織成個別數據表(例如,依年份或季),您可以根據個別數據表建立分割區,其中每個分割區都有自己的數據源數據表。 這基本上是量值群組預設分割的方式,但在多個分割區的情況下,您會將原始分割區分成多個分割區,並將每個新的分割區對應至提供數據的數據源數據表。

檢視和具名查詢的功能相當於數據表,也就是說,這三個物件都是在 DSV 中定義,並使用 [數據分割來源] 對話方塊中的 [數據表系結] 選項系結至分割區。 您可以建立檢視或具名查詢,以產生每個分割區所需的數據區段。 如需詳細資訊,請參閱 在數據源檢視中定義具名查詢

重要

當您在 DSV 中建立資料分割的互斥具名查詢時,請確定數據分割的合併數據報含您想要包含在 Cube 中的量值群組中的所有數據。 請確定您不會根據量值群組的整個數據表保留預設數據分割,否則以查詢為基礎的分割區會根據完整數據表重疊查詢。

  1. 建立一或多個具名查詢,以作為分割區來源使用。 如需詳細資訊,請參閱 在數據源檢視中定義具名查詢

    具名查詢必須以與量值群組相關聯的事實數據表為基礎。 例如,如果您要分割 FactInternetSales 量值群組,DSV 中的具名查詢必須在 FROM 語句中指定 FactInternetSales 數據表。

  2. 在 SQL Server Data Tools 的 [方案總管] 中,按兩下 Cube 以在 Cube 設計師中開啟它,然後按兩下 [數據分割] 索引標籤。

  3. 展開正在新增數據分割的量值群組。

  4. 按兩下 [[新增分割區] 啟動 [資料分割精靈]。 如果您使用系結至量值群組的事實數據表來建立具名查詢,您應該會看到您在上一個步驟中建立的每個具名查詢。

  5. 在 [指定來源資訊] 中,選擇您在上一個步驟中建立的其中一個具名查詢。 如果您沒有看到任何具名查詢,請返回 DSV 並檢查 FROM 語句。

  6. 按兩下 [[下一步],接受每個後續頁面的預設值。

  7. 在最後一頁的 [完成精靈] 上,為分割區提供描述性名稱。

  8. 點選 [完成]

  9. 重複上述步驟以建立其餘的數據分割,每次選擇不同的具名查詢來選取下一個數據配量。

  10. 部署解決方案或處理分割區以載入數據。 請務必處理所有分割區。

  11. 流覽 Cube 以確認傳回正確的數據。

下一步

當您建立資料分割的互斥查詢時,請確定合併的數據分割數據包含您想要包含在 Cube 中的所有資料。

最後一個步驟是,您通常會想要移除以數據表本身為基礎的預設分割區(如果它仍然存在),否則以查詢為基礎的分割區會根據完整數據表重疊查詢。

另請參閱

分割區 (Analysis Services - 多維度數據)
遠端分割區
Analysis Services 中的合併分割區 (SSAS - 多維度)