共用方式為


摘要資料

產生決策支援系統 (Decision Support System) 的彙總交易資料摘要報告可能是一個複雜且需要大量資源的作業。下列元件是程式設計人員在執行 SQL Server 資料的多維度分析 (Multidimensional Analysis) 時需要使用的主要工具:

  • Integration Services
    Integration Services 支援擷取交易資料,並將它轉換成資料倉儲 (Data Warehouse) 或資料超市 (Data Mart) 中的摘要彙總。如需詳細資訊,請參閱<Integration Services 概觀>。
  • Microsoft SQL Server Analysis Services
    Analysis Services 將資料倉儲的資料組織成多維度的 Cube,含有預先計算的摘要資訊。此資訊可用來提供複雜分析查詢的迅速解答。PivotTable® Service 則提供用戶端存取多維度資料。Analysis Service 也提供一組精靈來定義用於 Analysis 處理中的多維度結構,以及一個 Microsoft Management Console 嵌入式管理單元來管理 Analysis 結構。然後應用程式就可以使用一組 API 來分析 Analysis 資料。如需詳細資訊,請參閱<Analysis Services 概念和物件

使用 Transact-SQL 來產生簡單的摘要報告

產生簡單摘要報告的應用程式可使用下列的 Transact-SQL 元素:

這些運算子可產生結果集,裡面包含結果集中每個項目的詳細資料列,以及每個群組的摘要資料列,以顯示出該群組的彙總總數。GROUP BY 子句可用來產生包含每個群組彙總的結果,但不包含詳細資料列。

應用程式應使用 Analysis Services 而非 CUBE、ROLLUP、COMPUTE 或 COMPUTE BY。尤其是,CUBE 與 ROLLUP 應該保留給沒有存取 OLE DB 或 ADO 的環境,像是指令碼或預存程序。

COMPUTE 與 COMPUTE BY 則是為了支援回溯相容性而提供的。ROLLUP 運算子比 COMPUTE 或 COMPUTE BY 來得常用。COMPUTE 或 COMPUTE BY 所產生的摘要數值將傳回成個別的結果集,並與傳回每個群組之詳細資料列的結果集交錯放置,或傳回一個附加在主要結果集後面、包含總數的結果集。處理這些多個結果集,將會增加應用程式中程式碼的複雜度。COMPUTE 或 COMPUTE BY 都不支援伺服器資料指標。ROLLUP 則有支援伺服器資料指標。CUBE 與 ROLLUP 可產生包含內嵌小計與總數資料列的單一結果集。有時候查詢最佳化工具產生的 ROLLUP 執行計劃會比 COMPUTE 與 COMPUTE BY 的執行計劃來得有效率。

若使用 GROUP BY 時不包含這些運算子,它將傳回單一的結果集,每個群組將有一個資料列包含該群組的彙總小計。但是結果集之中並不會有詳細資料列。

請參閱

概念

管理結果集

說明及資訊

取得 SQL Server 2005 協助