【问题标题】:Limit number of pages displayed in a SSRS Report限制 SSRS 报告中显示的页数
【发布时间】:2016-09-26 18:05:12
【问题描述】:

我看过很多关于限制 SSRS 报告中一页上显示的行数的帖子。但我想在一页中显示 50 行,并且想将报告限制为 5 页。这可能吗 ?我可以限制报表显示的页数吗?

【问题讨论】:

  • 您可以将查询限制为仅返回前 250 行。
  • 这不是我的选择,因为查询可能会返回 100 条记录,但我仍然需要显示五页。
  • 您可以使用分页符生成五页,但如果您的报表返回 100 行,您将在接下来的三页中显示什么?
  • 我想显示空行。

标签: reporting-services ssrs-2008 ssrs-2008-r2 reportingservices-2005


【解决方案1】:

前 250 是每页 50 行的答案,并且始终显示 5 页,您还需要在数据集的结果集中,使其始终返回 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 行。

【讨论】:

    【解决方案2】:

    我会尝试使用解决方法将超过 65k 行导出到 Excel。 将其用作分页符的组函数,然后创建一个序列并将左外连接到 Top(250),这样无论如何总是有 250 行。

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

    Source for page break on row numbers.

    【讨论】:

      【解决方案3】:

      仅适用于 Tablix 报告。

      此方法将每页记录 50 条记录,甚至您可以将 100 条记录自定义为每页 20 条记录。 (但是,您可以通过添加空白行使其成为 250 条记录)

      步骤:

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

        =ceiling(rownumber(nothing)/50)

      2. 将添加带有列的新组,删除未分组的列

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-06
        相关资源
        最近更新 更多