2017-08-10 3 views
0

SSRSレポート(.rdl)の作業中、レポート内でページ付けを行う必要があります。通常、asp.net開発者としてのページングでは、ページのnumとrowsロジックを使用してプロシージャ内にいくつかのステートメントを追加します。SSRSレポートのサーバーサイドページ付けのロジック

SSRSレポートもストアプロシージャを使用しているため、ここで同じ手順を実行する必要がありますか?しかし、どうやってイベントを処理することができますか?イベントによって私は "次のページ" "バックページ"などと言うことを意味します。ページングを処理できるSSRSのためのinbuilt機能はありますか?私はレポートが巨大になる可能性があるので、サーバー側のページネーションについて話しています。手順を使用してすべてのレコードを一度に選択しています。以下のように考えられます。

Create procedure myproc 
@year int,      
@docid varchar(200) 

Begin 

Declare @commandtext nvarchar(max) 
set @commandtext = 'select docid, year, type, 
     sum(case when statusid = 231 then 1 else 0 end) as granted, 
     sum(case when statusid = 232 then 1 else 0 end) as revoked, 
     sum(case when statusid = 235 then 1 else 0 end) as deleted, 
     sum(case when statusid = 236 then 1 else 0 end) as others 
from table1 where 1=1' 

if (@year <> 0 and @year is not null)      
set @commandtext = @commandtext + 'and year=''' + CONVERT(varchar(10),@year) + '''' 

if(@docid is not null and @docid <>'')      
set @commandText = @commandtext + 'and documents in (' + @docid + ')'  


set @commandText = @commandtext + 'group by docid, year, type ' 

EXEC (@commandText); 

End 

答えて