润乾V5 分页报表获取上一页的合计值
如题所示 表样的需求如下图所示:
需要在第二页显示第一页的合计值 第三页显示第二页的合计值 每页数据20行
表样设计思路
先计算数据集数据总数 ds1.count() 获取
每页20行 ds1.count()/20 获取总共需要展现的页数
在此做to函数扩展 确定总共需要分页的数量 此时需要判断特殊情况 即 ds1.count()%20为0 时的情况
即 =to(0,if(ds1.count()%20==0,int(ds1.count()/20),int(ds1.count()/20)+1)-1)
确定页码后 需要判断每页需要显示的数据 依然是to函数 和valueat函数的结合使用
=to(0+A7*20,19+A7*20) 确定每页显示的数据在数据集内的编号
实际数据的显示 需要=valueat(ds1.select(字段),report_cell)
如 =valueat(ds1.select(jzpzh),B9)
需要注意的是 后面的每个字段都需要用valueat获取
此时 本页合计项目 可以直接 sum(F7{}) 计算
而上页的合计值 是无法直接从表内获取的 此时需要换个思路来处理
在同一页获取上一页的编号和数据 求和得出
即 表达式为 =to(0+(A7-1)*20,19+(A7-1)*20)
数据取数和上述类似 唯一差别就是需要对这些数据进行隐藏行处理
表结构如图所示:
如此 表样需求完成
如题所示 表样的需求如下图所示:
需要在第二页显示第一页的合计值 第三页显示第二页的合计值 每页数据20行
表样设计思路
先计算数据集数据总数 ds1.count() 获取
每页20行 ds1.count()/20 获取总共需要展现的页数
在此做to函数扩展 确定总共需要分页的数量 此时需要判断特殊情况 即 ds1.count()%20为0 时的情况
即 =to(0,if(ds1.count()%20==0,int(ds1.count()/20),int(ds1.count()/20)+1)-1)
确定页码后 需要判断每页需要显示的数据 依然是to函数 和valueat函数的结合使用
=to(0+A7*20,19+A7*20) 确定每页显示的数据在数据集内的编号
实际数据的显示 需要=valueat(ds1.select(字段),report_cell)
如 =valueat(ds1.select(jzpzh),B9)
需要注意的是 后面的每个字段都需要用valueat获取
此时 本页合计项目 可以直接 sum(F7{}) 计算
而上页的合计值 是无法直接从表内获取的 此时需要换个思路来处理
在同一页获取上一页的编号和数据 求和得出
即 表达式为 =to(0+(A7-1)*20,19+(A7-1)*20)
数据取数和上述类似 唯一差别就是需要对这些数据进行隐藏行处理
表结构如图所示:
如此 表样需求完成