共用方式為


瞭解群組(報表設計器及 SSRS)

在報表產生器中,群組是系結至數據區之報表數據集的具名數據集集。 基本上,群組會組織報表數據集的檢視。 數據區中的所有群組都會指定相同報表數據集的不同檢視。

若要協助可視化群組是什麼,請參閱下圖,此圖顯示 Preview 中的 Tablix 數據區域。 在此圖中,數據列群組會依產品類型分類數據集,而數據行群組會依地理區域和年份分類數據集。

Tablix 數據區域

下列各節說明群組的各個層面。

備註

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

什麼是群組?

一個群組擁有一個名稱以及一組由您指定的群組表達式。 群組表達式集合可以是單一數據集欄位參考或多個表達式的組合。 在運行時間,如果群組有多個表達式,且套用至群組中的數據,則會合併群組表達式。 例如,您有一個群組使用日期欄位來組織資料區域中的數據。 在運行時間,數據會依日期組織,然後顯示每個日期的其他數據集值總計。

何時要建立群組?

在大部分情況下,當您設計數據區時,報表產生器及報表設計師會自動為您建立群組。 對於數據表、矩陣或清單,當您在 [群組] 窗格上卸除字段時,就會建立群組。 當您在圖表的拖放區域放置字段時,就會建立群組。 針對儀表,您必須使用儀表屬性對話框。 針對數據表、矩陣或清單,您也可以手動建立群組。 如需詳細資訊,請參閱在數據區中新增或刪除群組(報表產生器及 SSRS)。 如需如何在建立報表時新增群組的範例,請參閱教學課程:建立基本數據表報表(報表產生器)建立基本數據表報表(SSRS 教學課程)。

如何修改群組?

建立群組之後,您可以設定資料區域特定屬性,例如篩選和排序表示式、分頁符號和群組變數,以保存範圍特定的數據。 如需詳細資訊,請參閱篩選、群組和排序數據(報表產生器及 SSRS)。

若要修改現有的群組,請開啟適當的群組屬性對話方塊。 您可以變更群組的名稱。 此外,您也可以根據單一字段或多個字段,或指定運行時間值的報表參數來指定群組表達式。 您也可以根據一組運算式來建立群組,例如指定人口統計數據年齡範圍的運算式集合。 如需詳細資訊,請參閱群組表達式範例(報表產生器及 SSRS)。

備註

如果您變更群組的名稱,則必須手動更新參考群組先前名稱的任何群組表達式。

如何組織群組?

瞭解群組組織可藉由指定相同的群組表達式,協助您設計顯示相同數據檢視的數據區域。

每個數據區的群組在內部組織成為一個或多個階層的成員。 群組階層具有巢狀的父/子群組,而且可以有相鄰的群組。

如果您將父子群組視為樹狀結構,則每個群組階層都是樹狀結構的樹系。 Tablix 資料區包含數據列群組階層和數據行群組階層。 與數據列群組成員相關聯的數據會水平展開整個頁面,而與數據行群組成員相關聯的數據會垂直向下展開頁面。 [群組] 窗格會顯示設計介面上目前選取之 Tablix 數據區的數據列群組和數據行群組成員。 如需詳細資訊,請參閱 群組窗格 (報表產生器)

圖表數據區包含類別群組階層和數列群組階層。 類別群組成員會顯示在類別座標軸上,而數列群組成員會顯示在數列軸上。

儘管儀表板數據區域通常不需要這樣,但群組功能確實可讓您指定在儀表板上進行數據匯總的方式。

每個數據區可使用哪些類型的群組?

展開為方格的數據區域支援與以可視化方式顯示摘要數據的數據區域不同的群組。 因此,Tablix 數據區,以及以 Tablix 數據區為基礎的數據表、清單和矩陣,都支援與圖表或量測計不同的群組。 下列各節將討論在每一種數據區域中分組的 型別和用途。

備註

雖然群組在不同數據區域中有不同的名稱,但建立和使用群組背後的原則相同。 當您為資料區建立群組時,您可以指定一種方式,從連結至數據區域的數據集組織詳細數據。 每個數據區域都支持顯示群組數據的群組結構。

Tablix 數據區中的群組:詳細數據、數據列和數據行群組

如本主題稍早所示,Tablix 數據區可讓您依數據列或數據行將數據組織成群組。 不過,數據列和數據行群組並不是 Tablix 數據區中唯一可用的群組。 此資料區域可以有下列型態的群組:

  • 詳細數據群組 [詳細數據] 群組包含報表產生器或報表設計師套用數據集和數據區篩選之後,報表數據集中的所有數據。 因此,Details 群組是唯一沒有群組表達式的群組。

    基本上,詳細數據群組會指定您在查詢設計工具中執行數據集查詢時會看到的數據。 例如,您有一個查詢,可從銷售訂單數據表擷取所有欄位。 因此,此數據細節群組中的數據包含表格中每一行的每一欄的所有值。 此詳細數據群組中的數據也包含您所建立的任何計算數據集欄位的值。

    備註

    詳細資料群組中的資料也可以包含伺服器彙總,這些彙總是在資料來源上計算,並在查詢中擷取。 根據預設,除非報表包含使用 Aggregate 函數的表示式,否則報表產生器及報表設計師會將伺服器匯總視為詳細數據。 如需詳細資訊,請參閱 匯總

    根據預設,當您將數據表或清單新增至報表時,報表產生器及報表設計師會自動為您建立詳細數據群組,並新增數據列以顯示詳細數據。 根據預設,當您將數據集欄位新增至此數據列中的儲存格時,您會看到欄位的簡單表示式,例如 [Sales]。 當您檢視數據區時,詳細數據列會針對結果集中的每個值重複一次。

  • 行群組和列群組 您可以依行或列將資料組織成群組。 列群組在頁面上進行垂直展開。 數據行群組在頁面上水平展開。 群組可以巢狀化,例如,先依 [Year]分組,再依 [Quarter],再依 [Month] 分組。 群組也可以相鄰,例如可以在 [Territory] 上群組,並在 [ProductCategory] 上獨立群組。

    當您為數據區建立群組時,報表產生器及報表設計師會自動將數據列或數據行新增至數據區,並使用這些數據列或數據行來顯示群組數據。

  • 遞歸階層群組 遞歸階層群組會從包含多個層級的單一報表數據集組織數據。 例如,遞歸階層群組可能會顯示組織階層,例如 [Employee] 向 [Employee] 回報。 Reporting Services 提供群組屬性和內建函式,可讓您建立這類報表數據的群組。 如需詳細資訊,請參閱建立遞歸階層群組(報表產生器及 SSRS)。

下列清單摘要說明您針對每個資料區域使用群組的方式:

  • 表格 定義巢狀行群組、相鄰行群組,以及遞迴階層行群組(例如組織結構圖)。 根據預設,數據表會包含詳細數據群組。 將數據集欄位拖曳至所選數據表的 [群組] 窗格,以新增群組。

  • 矩陣 定義巢狀數據列和數據行群組,以及連續的數據列和數據行群組。 將數據集欄位拖曳至所選矩陣的 [群組] 窗格,以新增群組。

  • 清單 根據預設,支持詳細數據群組。 一般用途是支援一個層級的群組。 將數據集欄位拖曳至所選清單的 [群組] 窗格,以新增群組。

新增群組之後,數據區的數據列和數據行句柄會變更以反映群組成員資格。 當您刪除群組時,您可以選擇只刪除群組定義或刪除群組及其所有相關聯的數據列和資料行。 如需詳細資訊,請參閱 Tablix 數據區儲存格、數據列和資料行(報表產生器)和 SSRS

若要限制數據在詳細數據或群組數據的計算中顯示或使用,請在群組上設定篩選。 如需詳細資訊,請參閱新增數據集篩選、數據區篩選和群組篩選(報表產生器及 SSRS)。

根據預設,當您建立群組時,群組的排序表達式會與群組表達式相同。 若要變更排序順序,請變更排序表達式。 如需詳細資訊,請參閱篩選、群組和排序數據(報表產生器及 SSRS)。

瞭解 Tablix 單元格的群組成員資格

Tablix 數據區之數據列或數據行中的數據格可以屬於多個數據列和數據行群組。 當您在包含聚合函數的儲存格文字框中定義表示式時,預設的儲存格群組範圍是它所屬的最內層子群組。 當儲存格同時屬於行和列群組時,其範圍為最內層的群組。 您也可以撰寫表達式,以計算相較於另一組數據的群組中的匯總小計。 例如,您可以計算群組相對於數據行群組或數據區所有數據的百分比(例如 =Sum(Fields!FieldName.Value)/Sum(Fields!FieldName.Value,"ColumnGroup"))。 如需詳細資訊,請參閱 Tablix 數據區(報表產生器及 SSRS)總計、匯總和內建集合的表達式範圍(報表產生器及 SSRS)。

另請參閱

在資料區中新增或移除群組(報表產生器及 SSRS)
將總計新增至群組或 Tablix 資料區(報表產生器及 SSRS)
在資料區中排序資料 (報表產生器及 SSRS)
向下鑽研動作 (報表產生器及 SSRS)
清單(報表產生器及 SSRS)