2013年9月24日 星期二

[SQL Server 2008R2][SSRS] 指定行數分頁

在設計報表時,使用者可能希望資料列可以以每 20 筆一頁的方式呈現。即會使用到 Rownumber 函數。可以在群組對象的運算式方格中輸入

= Rownumber (Nothing) \ 20 以除以 20 取整數的方式來分群組。
建立好相關的報表物件後,在產品大類群組的外層,再加入父群組,並在群組對象的運算式方格中輸入 = Rownumber (Nothing) \ 20
不要勾選「加入群組頁首」「加入群組頁尾」




將系統產生的群組資料行 ( Group1 )刪除



切換至預覽時,會有錯誤訊息。
排序運算式使用了函數 RowNumber。RowNumber 不能用在排序運算式中

在產生群組時,系統會自動把群組定義式作為排序的依據。因 RowNumber 不能用在排序運算式中,所以還要刪除它。( RunningValue 也不能用在群組運算式中 )




還要設定群組間加入分頁符號。

 切換至預覽時,會發現第一頁只有 19 行,因為 1 ~ 19 除 20 的商是 0 ,20 ~ 39 除以 20 的商數是 1,所以要更精確的結果應修改公式為

= (Rownumber (Nothing) - 1 ) \ 20

沒有留言: