明细报表之补充空白行

当数据比较多时,报表设置分页后,最后一页数据不满一页时,如需将报表尾显示在最下方,我们可以通过补充空白行的方式解决该问题。
实现效果:使用自带的订单明细报表,每页 30 行数据,且每页最下方显示当前页小计以及总金额。
设计报表:
使用自带的订单明细表设计报表如下图所示。

1png

2png

报表设计:
1)使用分页函数 pcsum()以及 sum() 函数统计当前页金额以及总金额。
2)将第 1、2 行设置为报表头,第 4、5 行设置为报表尾。
最后一页展示效果为:因数据不满一页,报表尾未能在最下方显示。

3png

下面我们来看两种不同的处理方式。
方法一:在报表设计时,使用 to 函数动态增加。
1、在数据区插入一行,输入表达式为:=to(1,30-ds1.count()% 30)
求出次数据集总的条数,每页 30 条,计算出最后一页的还需要补的行数,使用 to 函数扩展。

4png

2、需要注意,当数据正好满足每页 30 条数据时,就不需要扩展了,这时我们需要在隐藏行表达式添加判断:if(ds1.count()% 30==0,true,false)

3、去掉第 4 行数据的【可视】

5png

4、查看最后一页展示效果,可以看到报表尾显示在最下方。

6png

方法二:在数据处理时直接对数据进行调整。
使用脚本数据集,在数据处理时直接实现这个效果。
1、新增加脚本数据集,写法如下图所示:

7png

2、报表不需要再增加辅助行,如下图所示:

8png

3、发布查看最后一页效果

9png

以上两种方式均可实现报表尾显示在最低端,但是需要注意的是:
1、使用脚本数据集在处理数据时,授权需有脚本使用权限。
2、按行分页,是计算的数据区的行数,不算表头和表尾。