建立及管理本機資料分割 (Analysis Services)
您可以建立其他資料分割,讓量值群組能夠改善處理效能。 擁有多個資料分割可讓您在本機和遠端伺服器上,跨對應數目的實體資料檔案以配置事實資料。 在 Analysis Services 中,資料分割可以獨立及平行處理,讓您在伺服器上處理工作負載時,能夠有更強的控制力。
您可以在模型設計期間,於 SQL Server Data Tools 中建立資料分割,或是在部署方案之後,使用 SQL Server Management Studio 或 XMLA 來建立資料分割。 建議您選取一種方法就好。 如果您交替使用這兩種工具,可能會發現,當您後續從 SQL Server Data Tools 重新部署方案時,先前在 SQL Server Management Studio 中對已部署的資料庫所做的變更會被覆寫。
開始之前
檢查您是否有 Business Intelligence 版或 Enterprise 版。 Standard 版不支援多個資料分割。 若要檢查版本,請在 SQL Server Management Studio 中以滑鼠右鍵按一下伺服器節點,然後選取 [報表] |[一般]。 如需有關功能可用性的詳細資訊,請參閱<SQL Server 2012 版本支援的功能>。
一開始時就務必了解,如果您之後要將資料分割合併,則其必須共用相同的彙總設計。 資料分割必須要有相同的彙總設計及儲存模式,才能進行合併。
提示 |
---|
瀏覽資料來源檢視 (DSV) 中的資料,以了解您要分割之資料的範圍和深度。 例如,如果是依日期進行資料分割,則可在日期資料行排序,以決定每個資料分割的上限和下限。 |
選擇方式
在建立資料分割時,最重要的考量就是要分割資料,以避免重複的資料列。 資料必須儲存在一個且單一的資料分割中,以免重複計算任何資料列。 因此,常會依日期進行資料分割,這樣您就可以在各資料分割之間定義清楚的界限。
您可以使用下列任一技術,在跨多個資料分割間散發事實資料。 下列技術可用來分割資料。
技術 |
建議 |
---|---|
使用 SQL 查詢來分割事實資料 |
資料分割可以來自 SQL 查詢。 在處理期間,SQL 查詢的目的是要擷取資料。 該查詢的 WHERE 子句會針對每個資料分割,提供分割資料的篩選。 Analysis Services 會為您產生查詢,但是您必須完整填寫 WHERE 子句,才能正確地分割資料。 這個方法的主要優點,是您可以輕易地分割來自單一來源資料表的資料。 如果所有來源資料皆來自大型事實資料表,您可以建立查詢,將該資料篩選至不同資料分割中,而不需要在資料來源檢視 (DSV) 中建立額外的資料結構。 但有一個缺點,就是使用查詢會中斷資料分割與 DSV 之間的繫結。 如果您之後要更新 Analysis Services 專案中的 DSV (例如新增資料行至事實資料表),則必須手動編輯每個資料分割的查詢,以包含新的資料行。 接下來要討論的第二種方法,則沒有這個缺點。 |
使用 DSV 中的資料表以分割事實資料 |
您可以將資料分割繫結至 DSV 中的資料表、具名查詢或檢視。 這三個都是資料分割的基礎,且功能皆相同。 整個資料表、具名查詢或檢視會提供所有資料給單一資料分割。 使用資料表、檢視或具名查詢會將所有資料選取邏輯放在 DSV 中,隨著時間會愈來愈容易管理及維護。 這個方法的重要優點是會保留資料表繫結。 如果您之後更新來源資料表,並不需要修改使用它的資料分割。 其次,所有資料表,具名查詢和檢視都存在於一個共同的工作空間,這讓更新更為方便,且不需要個別開啟和編輯資料分割查詢。 |
選項 1:篩選多個資料分割的事實資料表
若要建立多個資料分割,請於一開始先修改預設資料分割的 Source 屬性。 根據預設,量值群組是使用繫結至 DSV 中之單一資料表的單一資料分割來建立的。 您必須先修改原始資料分割,使其只包含一部分的事實資料之後,才能加入更多資料分割。 然後您可以繼續建立其他資料分割,以儲存資料的其餘部分。
建構您的篩選,使資料分割之間的資料不要重複。 資料分割的篩選會指定資料分割使用事實資料表中的哪些資料。 在同一個 Cube 中之所有資料分割的篩選,都必須從事實資料表擷取互斥的資料集,這點非常重要。 如果相同的事實資料出現在多個資料分割中,可能會重複計算。
在 SQL Server Data Tools 的 [方案總管] 中,按兩下 Cube 以在 Cube 設計師中開啟,然後按一下 [資料分割] 索引標籤。
展開要為其加入資料分割的量值群組。 依預設,每個量值群組都有一個資料分割會繫結至 DSV 中的事實資料表。
在 Source 資料行中,按一下 [瀏覽] (. .) 按鈕,以開啟 [資料分割來源] 對話方塊。
在 [繫結類型] 中,選取 [查詢繫結]。 選取資料的 SQL 查詢會自動出現。
在最下面的 WHERE 子句中,新增為此資料分割進行分割資料的篩選。
WHERE 子句語法的範例包括 WHERE OrderDateKey >= '20060101' 或 WHERE OrderDateKey BETWEEN '20051001' AND '20051201'。 如需其他範例,請參閱<WHERE (Transact-SQL)>。
請注意,下列篩選在每一個集合中均為互斥:
集合 1:
"SaleYear" = 2012
"SaleYear" = 2013
集合 2:
"Continent" = 'NorthAmerica'
"Continent" = 'Europe'
"Continent" = 'SouthAmerica'
集合 3:
"Country" = 'USA'
"Country" = 'Mexico'
("Country" <> 'USA' AND "Country" <> 'Mexico')
按一下 [檢查] 以檢查語法錯誤,然後按一下 [確定]。
重複先前的步驟以建立其餘的資料分割,並每次修改 WHERE 子句,以選取下一個資料配量。
部署方案或處理資料分割以載入資料。 請務必處理所有的資料分割。
瀏覽 Cube 以驗證傳回正確的資料。
在您有了使用多個量值群組的量值群組之後,即可在 SQL Server Management Studio 中建立其他資料分割。 在量值群組底下,以滑鼠右鍵按一下 Partitions 資料夾,並選取 [新增資料分割] 以啟動精靈。
[!附註]
除了在資料分割中篩選資料,您可以使用相同的查詢在 DSV 中建立具名查詢,然後以具名查詢做為資料分割的基礎。
選項 2:使用資料表、檢視或具名查詢
如果 DSV 已經將事實組織成個別資料表 (例如,依年份或季),您可以根據個別資料表來建立資料分割,而每個資料分割都要有自己的資料來源資料表。 基本上,這是分割量值群組的預設方式,但是如果有多個資料分割,則要將原始資料分割分成多個資料分割,並將每個新的資料分割對應至提供資料的資料來源資料表。
檢視和具名查詢的功能相當於資料表,因為這三個物件都定義在 DSV 中,並且是使用 [資料分割來源] 對話方塊中的 [資料表繫結] 選項繫結至資料分割。 您可以建立檢視或具名查詢以產生每個資料分割所需的資料區段。 如需詳細資訊,請參閱<在資料來源檢視中定義具名查詢 (Analysis Services)>。
重要事項 |
---|
在 DSV 中建立資料分割的互斥具名查詢時,請確定資料分割的結合資料,會包含您要在 Cube 中包含之量值群組的所有資料。 請確定您未保留以量值群組之整個資料表為基礎的預設資料分割,否則以查詢為基礎的資料分割,就會和以整個資料表為基礎的查詢重疊。 |
建立一個或多個具名查詢,以做為資料分割來源。 如需詳細資訊,請參閱<在資料來源檢視中定義具名查詢 (Analysis Services)>。
具名查詢必須以與量值群組相關聯的事實資料表為基礎。 例如,若您要分割 FactInternetSales 量值群組,則 DSV 中的具名查詢必須在 FROM 陳述式中指定 FactInternetSales 資料表。
在 SQL Server Data Tools 的 [方案總管] 中,按兩下 Cube 以在 Cube 設計師中開啟,然後按一下 [資料分割] 索引標籤。
展開要為其加入資料分割的量值群組。
按一下 [新增資料分割],以啟動 [資料分割精靈]。 如果您是使用繫結至量值群組的事實資料表來建立具名查詢,應該就會看到您在前面步驟中建立的每一個具名查詢。
在 [指定來源資訊] 中,選擇您在前面步驟中建立的其中一個具名查詢。 如果沒有看到任何具名查詢,請回到 DSV 並檢查 FROM 陳述式。
按 [下一步] 以接受每個後續頁面的預設值。
在最後一頁的 [正在完成精靈] 上,提供描述性名稱給資料分割。
按一下 [完成]。
重複先前的步驟以建立其餘的資料分割,並每次選擇不同的具名查詢,以選取下一個資料配量。
部署方案或處理資料分割以載入資料。 請務必處理所有的資料分割。
瀏覽 Cube 以驗證傳回正確的資料。
下一個步驟
建立資料分割的互斥查詢時,請確定結合的資料分割資料包含您要在 Cube 中包含的所有資料。
在最後一個步驟中,您通常會想要移除以資料表本身為基礎的預設資料分割 (如果還存在的話),否則以查詢為基礎的資料分割會和以完整資料表為基礎的查詢重疊。