共用方式為


在報表中分組資料

更新: 2006 年 4 月 14 日

在每一個資料區域 (資料表、矩陣、清單和圖表) 內的資料,可以使用欄位和運算式來分組。可以使用資料表內的群組,在資料表中提供資料的邏輯區段。您也可以將小計和其他運算式加入至群組首或群組尾。在矩陣中,群組會以動態資料行或資料列顯示。您可以在其他群組內巢狀群組,以及加入小計。在報表中可以使用清單來提供個別的群組,或是在清單內放置清單以建立巢狀群組。

若要檢視有關資料區域中之群組資料的指示,請參閱:

遞迴階層

遞迴階層是資料的階層,其中的資料會表示所有的父子式關聯性。例如,使用遞迴階層即可建立一個顯示主管和員工關聯性的組織圖。在這樣的階層中,資料表會有員工識別碼和主管識別碼的資料行。主管識別碼會參考另一員工的員工識別碼,因而產生員工階層。

若要建立遞迴階層,必須在資料區域內設定群組的某些屬性。使用包含唯一識別碼 (例如,員工識別碼) 的欄位作為群組運算式,然後在 Parent 屬性中使用包含父系識別碼 (例如,經理識別碼) 的欄位。定義為遞迴階層的群組 (亦即,使用 Parent 屬性的群組),只能有一個群組運算式。

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

  1. 在 [資料] 檢視中,根據 AdventureWorks 資料庫建立資料集。

  2. 在資料集內,使用下列查詢:

    SELECT FirstName, LastName, EmployeeID, ManagerID
    FROM   HumanResources.Employee E INNER JOIN
           Person.Contact C ON  E.ContactID=C.ContactID
    
  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)) 的填補。

如需有關 Level 函數的資訊,請參閱<Level 函數 (Reporting Services)>。

請參閱

概念

使用資料區域
使用資料表資料區域
使用矩陣資料區域
使用清單資料區域
使用圖表資料區域

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 4 月 14 日

變更的內容:
  • 更正查詢搭配使用的是 AdventureWorks 資料庫而不是 AdventureWorks2000。