如何在65536行之后添加SSRS分页符,计算组页眉/页脚

时间:2013-09-25 11:02:07

标签: sql-server-2008 reporting-services reportingservices-2005 ssrs-grouping

我有一个SSRS报告,当行数大于Excel 2003限制65536时,无法导出到excel

该报告已经具有组页脚的分组级别。

我尝试在表达式

上添加额外的分组级别和分页符
=ceiling(rownumber(nothing)/65536)

但是,这会计算详细信息行,但不会考虑组页脚。因此,当实际行数超过65536时,rownumber的计算结果为53000。

以下表达式

=ceiling(RunningValue(Fields!myfirstgroup.Value, CountDistinct, Nothing) + rownumber(nothing) / 65536 )

将为我提供包括组页脚在内的实际行数,但SSRS不允许在运行值表达式上使用组。

如何在65536行之后强制分页以允许导出到Excel?我曾希望在报告定义中完成此操作,并避免在查询中添加计算的页码。

任何帮助非常感谢

*更新 - 样本数据*

ItemDescription , Location , Quantity

Red lorry , M25 , 5

Red lorry , M6 , 2

Yellow lorry , M1 , 3

报告对ItemDescription进行了分组,其中包含该项目的总计,因此会显示

ItemDescription , Location , Quantity

    Red lorry , M25 , 5

    Red lorry , M6 , 2

      Total for Red Lorry,7

    Yellow lorry , M1 , 3

      Total for Yellow Lorry,3

这意味着从我的3行数据中,我有5个报告行,包括细节和页脚行。 SSRS可以告诉我的数据集中有多少详细信息行,但我需要考虑页脚中断的页脚。

2 个答案:

答案 0 :(得分:4)

您好,此链接可能会对您有所帮助。几年前,我遇到了类似的问题。

SSRS Page break on Tablix with Rownumber ,just one row group and no group expression given by default

=Floor((RowNumber(Nothing)-1)/2000)

是建议的答案

答案 1 :(得分:2)

使用以下表达式创建一个组:      = CINT(天花(ROWNUMBER(无)/ 65000))

65000为你的任何页眉或页脚提供了额外的空间。接下来,对此组执行分页“在组的每个实例之间”和“也在组的末尾”,您将成功击败excel文件限制问题。

这是我们通常使用的没有任何问题。如果您没有专门使用所有65,536行,我认为没有人会注意到。