星期五, 1月 23, 2015

[SSRS] 強迫分頁

[SSRS] 分頁頁碼 中有網友詢問,問題如下
你好,我有個也是關於顯示筆數的問題想請教你,若你有閒餘時間,期望你能撥空幫我想想,我的問題如下:

我的報表內需要顯示兩個欄位,並顯示在同一行;其中主要的欄位是品名,另一欄位則是品名的雜項支出,雜項支出顯示在每個品名的下面緊鄰著品名;目前我的品名是直接顯示在父報表內,雜項支出我是用子報表顯示於品名下方。

Question:請問我可以控制品名和雜項支出一頁只顯示六筆,超過就放下一頁。
[SSRS] 分頁頁碼 這篇筆記繼續往下延伸,目標是把各組別內的人員,每 10 位為一頁

Step1:修正 T-SQL 語法

在 T-SQL 語法內把各組人員再進行分組,每 10 位為一組,T-SQL 邏輯可參考這篇 Blog 筆記 [SQL] 次序函數應用-資料分組
SELECT 
    D.DepartmentID AS DepID , 
    D.Name AS DepName , 
    ((ROW_NUMBER() OVER (PARTITION BY D.DepartmentID ORDER BY D.DepartmentID,P.LastName) - 1) / 10) + 1 AS Group10,
    P.LastName , 
    P.FirstName , 
    A.EmailAddress
FROM Person.Person AS P
    JOIN Person.EmailAddress AS A ON P.BusinessEntityID = A.BusinessEntityID
    JOIN HumanResources.EmployeeDepartmentHistory AS H ON P.BusinessEntityID = H.BusinessEntityID
    JOIN HumanResources.Department AS D ON H.DepartmentID = D.DepartmentID
WHERE H.EndDate IS NULL
從下圖可以看見 Purchasing 部門有 12 筆資料,也就是說 SSRS 那應該分為兩頁來顯示

[SSRS] 強迫分頁-0


Step2:報表中新增 Group10 群組

新增 Group10 群組,資料列群組 => Details => 加入群組 => 父群組

[SSRS] 強迫分頁-1

選擇群組依據:[Group10]

[SSRS] 強迫分頁-2

資料列群組設定結果畫面

[SSRS] 強迫分頁-3

新增群組時,會自動新增 Group10 "群組資料行",畫面呈現不需要它,手動把它刪除,並新增 Group10 "欄位明細資訊",方便觀察是否有每 10 筆在一頁中

[SSRS] 強迫分頁-4

顯示畫面內的設定畫面

[SSRS] 強迫分頁-5

Step3:設定分頁

資料列群組 => Group10 => 群組屬性

[SSRS] 強迫分頁-6

群組屬性 => 分頁符號 => 勾選 "在群組的每個執行個體之間"

[SSRS] 強迫分頁-7

Step4:觀察設定結果

下圖是未進行強迫分頁設定時的頁碼資訊,可以觀察到全部分頁是 19 頁,Purchasing 只有一頁 12 筆資料

[SSRS] 強迫分頁-8

下面兩張圖是強迫分頁設定的頁碼資訊,可以觀察到全部分頁已經增加至 35 頁,Purchasing 部門已經被分為兩頁,第一頁是 10 筆資料,第二頁為 2 筆資料

[SSRS] 強迫分頁-9

[SSRS] 強迫分頁-10

2 則留言:

  1. 分頁後第二頁以後都沒標題耶..只有第一頁有..

    回覆刪除
  2. @rogerroan 可以使用RepeatOnNewPage

    回覆刪除