分页web报表如何统计当前页与其前几页的信息

Web报表分页显示是最常见的展示方式之一,博计报表可以根据不同的条件来设置报表的分页。然而报表分页也遇到许多新的需求,如:如何只对当前页某列数据进行统计、如何对当前页及其前几页某列数据进行统计以及如何实现对所有页某列数据的统计。

对所有页某列数据统计可以直接使用数据集函数,如:ds1.sum(某字段名)

而对于要求实现当前页及其前几页某列数据统计,博计报表没有提供专门的函数实现,但是可以使用变通的方式,使用手动分组强制分页的方式实现该需求。这里的手动分组是指一组数据内让其显示固定条数的数据(如10条),用数据总条数/10就是分组的个数(如果总条数%10!=0,需要加1),然后在每组后面设置强制分页,这样就可实现每页固定显示10行数据的效果。

本文介绍博计报表实现当前页及其前几页某列数据统计的报表设计过程,以例子形式说明。

第一步:

打开设计器,新建一张空白的报表,然后建一个内建数据集ds1,数据集很简单,只包含一个字段,并且也是对该字段进行统计,如下图:

1.png

其中,ID为数据集的字段名,数据类型为字符串,总共增加40条数据。

第二步:

按每页展现10行数据,根据查询数据的总记录条数计算出总共分几页显示,本例中在A1单元格存放计算出的分页结果,表达式为:

=if(ds1.count()%10==0,int(ds1.count()/10),int(ds1.count()/10)+1)

第三步:

根据上步中计算出的分页总页数,手动设置分组,本例中表达式写在A2单元格,为:=list (1 to A1)。这一步的作用就是用分组模拟出分页。

第四步:

按每页显示10条数据,分配查询每页的数据。

本例在B2单元格设置表达式为=list(1 to 10),这里实际作用相当于按行分页,每页10行数据。C3中表达式为=(A2-1)*10+B2,作用为生成所有数据的连续序列号。D4单元格为根据序列号生成的查询字段(ID)表达式。

第五步:

计算数据

计算数据分当前页计算及当前页与前几页数据和。当前页数统计直接使用=sum(D2{}),而当前页与前几页的数据统计则需要用到层次坐标,这里设置表达式为=D3+D4[-1]。

第六步:

设置模拟分页列A列与设置模拟每页显示10条数据列B列为隐藏列。

第七步:

设置第4行为强制行后分页(如下图),实现分页效果。

2.png

报表设计完成后的效果图如下:

3.png

报表发布后,分页效果图如下(第一页):

4.png

然后看一下第二页,检验计算结果(如下图):

5.png

到此可以看到数据统计结果是正确的,实现了当前页与前几页数据求和的要求。

引自:润乾报表知识库

其他相关内容: 润乾 ; 商业智能BI联盟 报表软件Java报表商业智能解决方案web报表的扩展功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值