限制 SSRS 报表中显示的页面数量

3

我看到很多关于在SSRS报表中限制每页显示行数的帖子。但是我想在一页中显示50行,并希望将报表限制为5页。这可行吗?我可以限制报表显示的页数吗?


您可以限制查询结果只返回前250行。 - Kidiskidvogingogin
1
在我的情况下,这不是一个选项,因为查询可能会返回100条记录,但我仍然需要显示五页。 - Programmermid
如果你的报告返回100行,你可以使用分页符来生成五页,但接下来的三页你会显示什么? - alejandro zuleta
我想显示空行。 - Programmermid
3个回答

1

Top 250是每页50行的答案,总共显示五页。您还需要在数据集的结果集中,始终返回250行,其中小于250的部分有一个空行。

以下是示例:

Create table #mytable
(
  firstname varchar(200),
  lastname varchar(200)
)

insert into #mytable
  select 'person','lastname'
union
select 'person2','lastname'

declare @totalrows int
declare @blankrows int
declare @currentrow int
set @totalrows = count(*) from #Mytable

set @blankrows = 250 - @totalrows
set @currentrow = 1

while @currentrow<=@blankrows
    begin

    insert into #MyTable
    SELECT
      '',
      ''

    end

您的表格现在应该始终具有250行。

0

仅适用于Tablix报表。

此方法将每页显示50条记录,甚至您可以自定义每页显示20条记录的100条记录。(但是您可以通过添加空行将其增加到250条记录)

步骤:

  1. 使用以下表达式创建一个分组:

    =ceiling(rownumber(nothing)/50)

  2. 添加一个带有列的新分组,删除非分组的列

  3. 从创建的分组中删除排序选项
  4. 转到Group Properties > Page Breaks> Check Between each instance of group
  5. 您还需要从Report properties更改page setup,因为默认行数为43。将高度设置为默认的11到14。

0

我会尝试使用绕过方法来导出超过65k行到Excel。 将此作为您的分组函数用于页面分页,然后创建一个序列并左外连接到Top(250),以便无论如何都有250行。

=Int((RowNumber(Nothing) - 1) / 50)

在行号上分页的源代码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接