共用方式為


設計彙總 (XMLA)

彙總設計會與特定量值群組的資料分割關聯,以確保資料分割在儲存彙總時會使用相同的結構。 針對分割區使用相同的儲存結構,可讓您輕鬆地定義稍後可以使用 MergePartitions 命令合併的分割區。 如需匯總設計的詳細資訊,請參閱 匯總和匯總設計

若要定義匯總設計的匯總,您可以在 XML for Analysis (XMLA) 中使用 DesignAggregations 命令。 DesignAggregations命令具有屬性,可識別要作為參考使用的匯總設計,以及如何根據該參考控制設計程式。 使用 DesignAggregations 命令及其屬性,您可以反復或批次地設計匯總,然後檢視產生的設計統計資料來評估設計程式。

指定彙總設計

DesignAggregations命令的Object屬性必須包含現有匯總設計的物件參考。 物件參考包含資料庫識別碼、Cube 識別碼、量值群組識別碼以及彙總設計識別碼。 如果彙總設計尚未存在,就會發生錯誤。

控制設計程序

您可以使用 DesignAggregations 命令的下列屬性來控制用來定義匯總設計的演算法:

  • Steps屬性會決定DesignAggregations命令在將控制權傳回給用戶端應用程式之前,應該採用多少反復專案。

  • Time屬性會決定DesignAggregations命令在將控制權傳回給用戶端應用程式之前,應該採用多少毫秒。

  • Optimization屬性會決定DesignAggregations命令應該嘗試達到的效能改進估計百分比。 如果您反覆設計彙總,只需要在第一個命令上傳送此屬性。

  • Storage屬性會決定DesignAggregations命令所使用的估計磁片儲存體數量,以位元組為單位。 如果您反覆設計彙總,只需要在第一個命令上傳送此屬性。

  • Materialize屬性會決定DesignAggregations命令是否應該在設計過程中建立定義的匯總。 如果您反覆地設計彙總,此屬性應該設定為 False,直到您準備儲存設計的彙總為止。 當設定為 True 時,目前的設計程序會結束,而定義的彙總會加入指定的彙總設計。

指定查詢

DesignAggregations 命令支援使用方式型優化命令,方法是在Query屬性中包含一或多個Query元素。 Query屬性可以包含一或多個Query元素。 如果 Query 屬性不包含任何 Query 元素, 則 Object 元素中指定的匯總設計會使用包含一組一般匯總的預設結構。 這個一般匯總集的設計目的是要符合DesignAggregations命令之OptimizationStorage屬性中指定的準則。

每個 Query 元素都代表一個目標查詢,而且設計處理序會使用此查詢來定義以最常用查詢為目標的彙總。 您可以指定自己的目標查詢,或使用查詢記錄檔中 Microsoft SQL Server SQL Server Analysis Services實例所儲存的資訊,來擷取最常使用之查詢的相關資訊。 Usage-Based優化精靈會使用查詢記錄,根據時間、使用量或指定的使用者,在傳送 DesignAggregations 命令時擷取目標查詢。 如需詳細資訊,請參閱 使用方式優化精靈 F1 說明

如果您要反復設計匯總,您只需要在第一個DesignAggregations命令中傳遞目標查詢,因為SQL Server Analysis Services實例會儲存這些目標查詢,並在後續DesignAggregations命令期間使用這些查詢。 當您將目標查詢傳入反覆處理序的第一個 DesignAggregations 命令之後,任何在 DesignAggregations 屬性中包含目標查詢的後續 Queries 命令就會產生錯誤。

Query 元素包含具有下列引數的逗號分隔值:

Frequency,Dataset[,Dataset...]

頻率
對應至查詢先前執行次數的加權因數。 如果 Query 元素代表新的查詢, Frequency 值就代表設計處理序用來評估查詢的加權因數。 當頻率值變大時,在設計處理序期間放置於查詢的加權就會增加。

資料集
指定維度的哪些屬性要包含在查詢中的數值字串。 這個字串必須與維度中的屬性數目具有相同的字元數目。 零 (0) 表示指定之序數位置中的屬性沒有包含在指定維度的查詢中,而一 (1) 則表示指定之序數位置中的屬性已包含在指定維度的查詢中。

例如,字串 "011" 是指涉及含有三個屬性之維度的查詢,其中第二和第三個屬性包含在查詢中。

注意

某些屬性會從資料集的考量中排除。 如需排除屬性的詳細資訊,請參閱 查詢元素 (XMLA)

量值群組中包含彙總設計的每個維度是由 Query 元素中的 Dataset 值代表。 Dataset 值的順序必須與量值群組中包含維度的順序相符。

使用反覆或批次程序來設計彙總

您可以使用 DesignAggregations 命令做為反復程式或批次處理的一部分,視設計程式所需的互動性而定。

使用反覆程序來設計彙總

若要反復設計匯總,您可以傳送多個 DesignAggregations 命令,以提供設計程式的精細控制。 「彙總設計精靈」使用這個相同的方法來提供設計程序的良好控制。 如需詳細資訊,請參閱 匯總設計精靈 F1 說明

注意

需要明確的工作階段,以反覆設計彙總。 如需明確會話的詳細資訊,請參閱 管理連線和會話 (XMLA)

若要啟動反復程式,您必須先傳送 DesignAggregations 命令,其中包含下列資訊:

  • 整個設計程式的目標 儲存體優化 屬性值。

  • 設計程式第一個步驟所限制的 StepsTime 屬性值。

  • 如果您想要以使用方式為基礎的優化, 則為包含 整個設計程式目標目標查詢的 Queries 屬性。

  • Materialize屬性設定為 false。 將此屬性設定為 False,表示設計程序不會在命令完成時將定義的彙總儲存至彙總設計。

當第一個 DesignAggregations 命令完成時,命令會傳回包含設計統計資料的資料列集。 您可以評估這些設計統計資料,以判斷設計程序是否應該繼續或者設計程序是否已完成。 如果程式應該繼續,您接著會傳送另一個DesignAggregations命令,其中包含設計程式此步驟受限的步驟和時間值。 您可以評估產生的統計資料,然後判斷設計程序是否應該繼續。 傳送 DesignAggregations 命令並評估結果的這個反復程式會繼續執行,直到達到目標並定義一組適當的匯總為止。

到達您想要的匯總集之後,您會傳送一個最終 的 DesignAggregations 命令。 這個最終 的 DesignAggregations 命令應該將其 Steps 屬性設定為 1,而其 Materialize 屬性設定為 true。 藉由使用這些設定,這個最終 的 DesignAggregations 命令會完成設計程式,並將定義的匯總儲存至匯總設計。

使用批次程序來設計彙總

您也可以傳送單一 DesignAggregations 命令,以設計批次處理中的匯總,其中包含整個設計程式的目標和限制 的步驟時間儲存體優化 屬性值。 如果您想要以使用量為基礎的優化,設計程式的目標查詢也應該包含在 [查詢 ] 屬性中。 此外,請確定 Materialize 屬性設定為 true,讓設計程式在命令完成時,將定義的匯總儲存至匯總設計。

您可以在隱含或明確的工作階段中使用批次程序來設計彙總。 如需隱含和明確會話的詳細資訊,請參閱 管理連線和會話 (XMLA)

傳回設計統計資料

DesignAggregations 命令將控制項傳回用戶端應用程式時,命令會傳回資料列集,其中包含代表命令之設計統計資料的單一資料列。 資料列集包含下表中列出的資料行。

資料行 資料類型 描述
步驟 整數 在將控制權還給用戶端應用程式之前,命令所使用的步驟數目。
時間 長整數 在將控制權還給用戶端應用程式之前,命令所花費的毫秒數目。
最佳化 Double 在將控制權還給用戶端應用程式之前,命令所達成的效能改善估計百分比。
儲存體 長整數 在將控制權還給用戶端應用程式之前,命令所使用的位元組估計數目。
彙總 長整數 在將控制權還給用戶端應用程式之前,命令所定義的彙總數目。
LastStep Boolean 指出在資料列集中的資料是否代表設計程序中的最後一個步驟。 如果命令的 Materialize 屬性設定為 true,這個資料行的值會設定為 true。

您可以在反復式和批次設計中,使用每個 DesignAggregations 命令之後所傳回之資料列集內含的設計統計資料。 在反覆設計中,您可以使用設計統計資料以判斷和顯示進度。 當您以批次方式設計彙總時,可以使用設計統計資料來判斷命令所建立的彙總數目。

另請參閱

在 Analysis Services 中使用 XMLA 進行開發