共用方式為


矩陣 (報表產生器及 SSRS)

使用矩陣來顯示群組數據和摘要資訊。 您可以在資料列和資料列群組中依多個字段或表示式來分組數據。 矩陣提供與交叉表和數據透視表類似的功能。 在執行時,報表數據和數據區域結合後,矩陣會在頁面上橫向及縱向擴展。 矩陣數據格中的值顯示與儲存格所屬之列與欄群組交集相關的匯總值。 您可以格式化資料列和資料行,以突出顯示您想要強調的資料。 您也可以包含一開始隱藏詳細資料的向下切入切換;然後,使用者可以按兩下切換,視需要顯示更多或更少的詳細數據。

在初始設計之後,您可以繼續開發矩陣,以改善使用者的檢視體驗。 如需詳細資訊,請參閱控制報表頁面上的 Tablix 數據區顯示(報表產生器及 SSRS)。

若要快速開始使用矩陣,請參閱教學課程:建立矩陣報表(報表產生器)。

Reporting Services 範例報表包含一些使用矩陣的報表。 您可以在報表產生器或報表設計師中探索範例報表的報表定義,或預覽報表產生器或報表設計師中的轉譯報表,以瞭解矩陣。 如需下載範例報表的詳細資訊,請參閱 (SSRS) Reporting Services 範例

備註

您可以在報表產生器及 SQL Server Data Tools 的報表設計師中建立和修改報表定義 (.rdl)。 每個撰寫環境提供不同的方式來建立、開啟及儲存報表和相關專案。 如需詳細資訊,請至 microsoft.com 網站上查看 報表設計師和報表產生器 (SSRS) 的報表設計

將矩陣新增至報表

從功能區上的 [插入] 索引卷標,將矩陣新增至設計介面。 您可以選擇使用數據表或矩陣精靈來新增矩陣,其中包括建立數據源連接和數據集,以及根據矩陣範本設定矩陣或新增矩陣。

備註

精靈僅適用於 SQL Server 2012 的 SQL Server 報表產生器。

若要描述如何從頭到尾設定數據表,本主題會使用矩陣範本。 矩陣一開始有數據列群組、數據行群組、邊角單元格和數據格,如下圖所示。

具有 1 個資料列和 1 個數據行群組的空白矩陣

當您在設計介面上選取矩陣時,會出現列和欄控點,如以下圖示。

從工具箱新增的新矩陣,選擇

將數據集欄位拖曳至 [群組] 窗格的 [數據列群組] 和 [數據行群組] 區域,以新增群組。 您拖曳至資料列群組或資料行群組窗格的第一個字位會取代初始空白的預設群組。 然後,您可以根據數據套用每個儲存格格式設定。

矩陣、類別列和地理欄群組

在預覽中,矩陣會展開以顯示數據列群組和數據行群組值。 單元格會顯示摘要值,如下圖所示。

渲染矩陣與展開群組的預覽

您開頭的矩陣是以 Tablix 數據區域為基礎的範本。 您可以藉由新增巢狀或連續的數據列群組或數據行群組,或甚至新增詳細數據列,繼續開發矩陣設計。 如需詳細資訊,請參閱探索 Tablix 數據區彈性(報表產生器及 SSRS)。

將父群組或子群組新增至矩陣

若要根據單一數據集欄位新增群組,請將欄位從 [報表數據] 窗格拖曳至 [群組] 窗格的適當 [數據列群組] 或 [數據行群組] 區域。 將字段拖放在群組階層中,以設定其與現有群組的關聯。 將它放在現有的群組上方以建立父群組,或將其放在現有群組下方以建立子群組。

當您在 [ 群組 ] 窗格中卸除欄位時,會發生數件事:

  • 系統會根據功能變數名稱自動建立具有唯一名稱的新群組。 群組表示式會設定為簡單的網域名稱參考,例如 [Category]

  • 新的數據列或數據行會出現在對應的數據列群組或數據行群組區域中。

  • 在新的欄中,報表數據集的預設數據行會出現列群組儲存格。 此數據列之 Tablix 主體中的儲存格現在是數據列群組的成員。 如果已定義任何數據行群組,數據行中的數據格就是這些數據行群組的成員。 群組指標會針對每個儲存格的群組成員資格提供視覺提示。

若要在建立群組之後自定義群組,請使用 [Tablix 群組 ] 對話方塊。 您可以變更組名,並編輯或新增其他運算式至群組定義。 若要新增或移除資料表中的數據列,請參閱插入或刪除數據列(報表產生器及 SSRS)。

當報表執行時,動態欄位標頭會根據獨特的群組值的數量向右展開(如果矩陣的 Direction 屬性設為 RTL,則向左展開)。 動態行在頁面上向下展開。 Tablix 內文數據格中顯示的數據會根據數據列和數據行群組的交集進行彙總,如下圖所示。

矩陣、巢狀數據列和數據行群組總計

在預覽中,報表會顯示如下圖所示。

預覽中的巢狀群組

若要撰寫指定預設範圍以外的範圍的表達式,您必須在聚合函數中指定數據集、數據區或群組的名稱。 若要計算每個子類別對 [服裝] 類別群組值的貢獻百分比,請在 [總計] 數據行旁邊的 [類別] 群組內新增數據行、格式化文本框以顯示百分比,以及新增表達式,以使用 numerator 中的預設範圍,以及分母中的 Category 群組範圍,如下列範例所示。

=SUM(Fields!Linetotal.Value)/SUM(Fields! Linetotal.Value,"Category")

如需詳細資訊,請參閱總計、匯總和內建集合的表達式範圍(報表產生器及 SSRS)。

將相鄰群組新增至矩陣

若要根據單一數據集欄位新增相鄰群組,請使用 [群組] 窗格中的快捷方式功能表。 如需詳細資訊,請參閱在數據區中新增或刪除群組(報表產生器及 SSRS)。 下圖顯示以地理位置為基礎的群組,以及以年份為基礎的相鄰群組。

Geography 和 Year 的相鄰欄位群組

在此範例中,查詢已篩選數據值,只包含歐洲和 2003 年和 2004 年的這些值。 不過,您可以個別設定每個群組的篩選。 在預覽中,報表會顯示如下圖所示。

相鄰數據行群組預覽

若要新增相鄰數據行群組的總計數據行,請單擊數據行群組定義儲存格,然後使用 [新增總計 ] 命令。 新的靜態欄位會被加入到欄位群組旁邊,對現有行中的每個數值欄位提供預設的匯總總和。 若要變更表示式,請手動編輯預設匯總,例如 Avg([Sales])。 如需詳細資訊,請參閱將總計新增至群組或 Tablix 數據區(報表產生器及 SSRS)。

另請參閱

聚合函數參考 (報表產生器及 SSRS)表達式範例 (報表產生器及 SSRS)