在報表中分組資料
更新: 2006 年 4 月 14 日
在每一個資料區域 (資料表、矩陣、清單和圖表) 內的資料,可以使用欄位和運算式來分組。可以使用資料表內的群組,在資料表中提供資料的邏輯區段。您也可以將小計和其他運算式加入至群組首或群組尾。在矩陣中,群組會以動態資料行或資料列顯示。您可以在其他群組內巢狀群組,以及加入小計。在報表中可以使用清單來提供個別的群組,或是在清單內放置清單以建立巢狀群組。
若要檢視有關資料區域中之群組資料的指示,請參閱:
遞迴階層
遞迴階層是資料的階層,其中的資料會表示所有的父子式關聯性。例如,使用遞迴階層即可建立一個顯示主管和員工關聯性的組織圖。在這樣的階層中,資料表會有員工識別碼和主管識別碼的資料行。主管識別碼會參考另一員工的員工識別碼,因而產生員工階層。
若要建立遞迴階層,必須在資料區域內設定群組的某些屬性。使用包含唯一識別碼 (例如,員工識別碼) 的欄位作為群組運算式,然後在 Parent 屬性中使用包含父系識別碼 (例如,經理識別碼) 的欄位。定義為遞迴階層的群組 (亦即,使用 Parent 屬性的群組),只能有一個群組運算式。
使用下列教學課程,即可使用 AdventureWorks 資料庫中的 Employee 資料表來建立遞迴階層。此教學課程會假設您已知道如何建立報表、資料集、查詢和資料表。如需有關這些功能的資訊,請參閱這些功能的相關文件集。
在 [資料] 檢視中,根據 AdventureWorks 資料庫建立資料集。
在資料集內,使用下列查詢:
SELECT FirstName, LastName, EmployeeID, ManagerID FROM HumanResources.Employee E INNER JOIN Person.Contact C ON E.ContactID=C.ContactID
在 [配置] 檢視中,建立資料表資料區域。
在資料表的第一個詳細資料資料格中,鍵入下列運算式:
=Fields!FirstName.Value & " " & Fields!LastName.Value
以滑鼠右鍵按一下資料表邊角,然後按一下 [屬性]。
在 [群組] 索引標籤上,按一下 [詳細資料群組]。
在 [一般] 索引標籤上的 [運算式] 方塊中,鍵入或選取下列運算式:
=Fields!EmployeeID.Value
在 [父群組] 方塊中,鍵入或選取下列運算式:
=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)>。
請參閱
概念
使用資料區域
使用資料表資料區域
使用矩陣資料區域
使用清單資料區域
使用圖表資料區域
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2006 年 4 月 14 日 |
|