星期一, 9月 09, 2013

[SSRS] 遞迴階層群組

在 MSDN 看見 建立遞迴階層群組 這篇文章,動手實作並記錄

建立 Sample Data
USE [AdventureWorks2012]
GO

IF OBJECT_ID ('RSEmployee') IS NOT NULL
    DROP TABLE RSEmployee

CREATE TABLE RSEmployee (EmpNO int , EmpName nvarchar(20) , ReportsTo int)
INSERT INTO RSEmployee(EmpNO, EmpName, ReportsTo)  
VALUES
    (1, 'Bill', NULL) ,
    (2, 'Jordan', NULL) ,
    (3, 'Jacobson', NULL) ,
    (4, 'Jess', 1) ,
    (5, 'Steve', 1) ,
    (6, 'Bob', 1) ,
    (7, 'Smith', 2) ,
    (8, 'Bobbey', 2) ,
    (9, 'Steffi', 3) ,
    (10, 'Bracha', 3) ,
    (11, 'John', 5) ,
    (12, 'Michael', 6) ,
    (13, 'Paul', 6) ,
    (14, 'Lana', 7) ,
    (15, 'Johnson', 7) ,
    (16, 'Mic', 8) ,
    (17, 'Stev', 8) ,
    (18, 'Paulson', 9) ,
    (19, 'Jessica', 10)

Report 設定
  • Step1:點選資料列最左邊方格 => 滑鼠右鍵 => 資料列群組 => 群組屬性
[SSRS] 遞迴階層群組-1
  • Step2:群組屬性 => 輸入群組名稱 ( grpHierarchy ) => 加入 button => 選擇群組對象 ( EmpNO )
[SSRS] 遞迴階層群組-2
  • Step3:群組屬性 => 進階 => 選擇遞迴父系( ReportsTo )
[SSRS] 遞迴階層群組-3
  • Step4:EmpName 文字方塊 => 滑鼠右鍵 => 文字方塊屬性
[SSRS] 遞迴階層群組-4
  • Step5:文字方塊屬性 => 對齊 => 填補選項 => fx 運算式 button
[SSRS] 遞迴階層群組-5
  • Step6:運算式 => 利用 Level() 內建函數來顯示階層,輸入
= CSTR(2 + LEVEL("grpHierarchy") * 30 ) + "pt"
[SSRS] 遞迴階層群組-6
  • Step5:顯示設定結果
[SSRS] 遞迴階層群組-7

沒有留言:

張貼留言