在報表中群組資料 (Visual Studio 報表設計工具)

您可以利用欄位和運算式來分組資料表、矩陣和清單資料區域內的資料。您可以利用資料表內的群組來提供資料表內資料的邏輯區段。另外,您也可以將小計和其他運算式加入群組首和群組尾中。在矩陣中,群組會顯示成動態資料行或資料列。您可以將群組放在其他群組內,成為巢狀結構,再加上小計。您可以利用清單,在報表中提供個別群組,也可以針對巢狀群組而將清單放在清單內。

設定資料區域的群組屬性

資料區域是用來顯示重複資料列的資料繫結報表項目。您可以在任何資料區域上設定群組屬性來組織資料的呈現方式。

遞迴階層

遞迴階層是所有父子式關聯性都表現在資料中的資料階層。例如,您可以利用遞迴階層來建立顯示經理員工關聯性的組織圖表。在這類階層中,資料表會有員工識別碼和經理識別碼的資料行。經理識別碼會參考另一位員工的員工識別碼,從而產生員工階層。

若要建立遞迴階層,您必須針對資料區域內的群組來設定特定屬性。請利用包含唯一識別碼 (如員工識別碼) 的欄位來做為群組運算式,然後在 Parent 屬性中使用包含父系之識別碼 (如經理識別碼) 的欄位。定義成遞迴階層的群組 (也就是使用 Parent 屬性的群組) 只能有單一群組運算式。

請利用 AdventureWorks 資料庫中的 Employee 資料表,遵循下列步驟來建立遞迴階層。這個教學課程假設您知道如何建立報表、資料集、查詢和資料表。如需有關這些功能的資訊,請參閱這些功能的相關文件。

  1. 根據從下列查詢傳回資料的 AdventureWorks 資料庫建立資料集:

    SELECT FirstName, LastName, EmployeeID, ManagerID

  2. 將用戶端報表定義 (.rdlc) 加入您的專案中,然後在圖形設計模式中開啟報表。

  3. 將資料表資料區域加入報表配置中。

  4. 在資料表的第一個詳細資料的資料格中,輸入下列運算式:

    =Fields!FirstName.Value & " " & Fields!LastName.Value

  5. 以滑鼠右鍵按一下資料表邊角,再按一下 [屬性]。

  6. 在 [群組] 索引標籤中,按一下 [詳細資料群組]。

  7. 在 [一般] 索引標籤上的 [運算式]**** 方塊中,輸入或選取下列運算式:

    =Fields!EmployeeID.Value

  8. 在 [父群組] 方塊中,輸入或選取下列運算式:

    =Fields!ManagerID.Value

Level 函式

您可以在文字方塊填補中,利用 Level 函式,根據員工在階層內的層級來縮排員工名稱。如果上述範例的資料表要執行這個動作,請在第一個詳細資料的資料格中,針對文字方塊的左側填補來使用下列運算式:

=Convert.ToString(2 + (Level()*10)) & "pt"

所有填補屬性都需要 nnxx 格式的字串,其中 nn 是數字,xx 是測量單位。依預設,文字方塊的填補是 2pt。上述運算式會建立一個利用 Level 函式來根據層級增加填補大小的字串。例如,層級 1 的資料列會產生 12pt 的填補 (2 + (1*10)),層級 3 的資料列會產生 32pt 的填補 (2 + (3*10))。

如需有關您可以使用之函式的資訊,請參閱報表的內建函式 (Visual Studio 報表設計工具)

另請參閱

工作

HOW TO:篩選報表中的資料 (Visual Studio 報表設計工具)

概念

在報表中使用運算式 (Visual Studio 報表設計工具)