复杂报表之分组报表组内补空行

做报表数据展示时,为了统一格式,分组报表需要在每个组末尾自动添加指定数量的空白行,使每页数据行数保持一致。润乾可通过 to 函数以及一些计算判断即可完成空白行的扩展。
以下面报表为例:

1png

以 A2 不同年度分组,每页 20 行数据,如分组分页后不足 20 行,则补充空白行。

实现步骤:
1、在报表尾前插入一行,并且输入表达式为:=to(1,20-ds1.count()+),并且设置 A5 的左主格为 A2。
ds1.count() 计算出组内条数
20-ds1.count()+ 用 20 减去组内条数除以 20 的余数
然后使用 to 函数生成从 1 到这个结果的序列,则可以生成补充不足 20 行的空白行。

2png

2、在 A5 单元格的隐藏行表达式输入:if(ds1.count()+==0,true,false)
判断数据是否整除 20,如果能整除,余数为 0,则隐藏该行数据。
3、在 A5 单元格 行后分页表达式输入:if(value()==(20-ds1.count()+),true,false)
判断扩展行的值是不是和相差的行数值相等,相等则分页。

预览效果:

1gif

注意:
1、报表默认是按纸分页的。需要保证纸张的高度可以占下 20 行以及表头表尾的数据。
2、行后分页的属性在按纸分页时才生效的。

报表示例:

zip