分组报表——报表分组统计增加组内页码及补空行

 

报表按某字段分组展示,然后列出明细数据,要求每一组在一页内展示,如果组内超过一页则分页展示,并且分页时表头重复,在表头行增加页面,该页码显示的为本组内的页码,比如一组数据分七页,本组内显示成 1/7, 到下一组时重新计算页码,如果组内数据不满一页则补空行,效果如下:

该组内数据分了 7 页,这里显示是组内的页码。

报表模板如图:

在 A 列中做合并单元格,里边表达式为:=ds2.group(MDS_OPERATION_SEQ_ID;MDS_OPERATION_SEQ_ID:1)

B1 中计算该组条数:=ds2.count()

C1 中判断该组内数据能否分几页:=if(B1==0,0,to(1,if(B5%19==0,B5/19,int(B5/19)+1))),可估算 A4 纸张一页内排出表头后能打印 19 行数据。

D6 中表达式:=to((C5-1)*19+1,C5*19),可根据 C 列中的页码做数据扩展

E6 中表达式:=if(B2<=1,ds2.#0,ds2.select(#0)(D6)),根据 D6 中单元格取出数据集中 #0(序号列)

F6 中表达式:=ds2.select(ID,#0==E6)  取数对应数据集字段

G 列后直接用取值方式取出 ds2 数据集相应字段

并且 A 列 ~F 列设置隐藏

D9 单元格设置行后分页以达到每组在一页内效果。

M3 单元格为页码显示,表达式为 =C5+“页 / 共”+if(B5%19==0,int(B5/19),int(B5/19)+1),取的是本组内页码。
报表见附件:
rar

更多报表样式类问题请看:报表样式分类导航
* 按段分组报表制作
* 如何开发主从报表
* 报告式报表的制作
* 报表中如何实现不规则布局
* 报表工具轻松搞定卡片式报表