报表知识库
我要提问

如何使用序号函数给报表加序号

润乾报表提供了一个可以给可扩展的单元格自动加序号的函数-&函数,本文就来给大家介绍一下此函数的用法。

首先,看一下函数解释和功能效果

表达式:&Cellx (例如:&A2 )
返回值:整数,当前格所属的Cellx主格在所有扩展出来的格子中的排序
说明:Cellx必须是当前格的主格,这样&Cellx才能够正确运算,其返回值相当于是当前格所属的Cellx主格的位置

效果见下图:(图中B2为A2的主格,即为B2的扩展格排列序号)

lizi.png

下面我们就用一个简单的例子来体验一下这个函数

正常需求:给报表的每一行都加上序号

第一步:新建报表

连接润乾自带的demo数据源,在订单表上建立数据集ds1,并生成网格式报表,其sql语句为:SELECT 订单.订单ID,订单.货主名称,订单.货主城市,订单.运货费 FROM 订单

网格报表设计如下:

rq_71.png

预览效果如下:

rq_72.png

第二步:加序号

在A列前插入新列,在新列的单元格中写入下面的表达式
A1:序号 A2:=&B2
然后把A2的左主格设为B2(这个操作很重要,A2中的序号是根据B2的扩展排列的)

rq_73.png

设置完成后预览就可以看到我们想要的效果了,如下图:

rq_74.png

需求扩展:报表分页后每页都重新从1开始排列序号

上面的设置产生的序号不管报表分页与否都是连续的,但是有些用户想要分页以后序号重新从1开始排,也就是每页都是重新排列序号的效果。下面就来看润乾报表如何解决这个特殊需求。一般这样的分页报表发布展示后每页显示的行数是固定的,像我们这个报表每页显示就是29行,我们可以用给序号取模的原理来让每页都从1开始排序,具体操作是把A2单元格中的表达式换成:=&B2%29,然后我们看一下发布后的效果:

rq_75.png

这样,需求就解决了。下面说一下应该注意的地方:

此方法只能用在每页的数据区行数固定的情况下(报表头必须每页显示或者都不显示),如果每页行数不是固定的29行,对29取模就没有意义了,就不能保证每页从1开始排序号了。

希望这个序号使用的小技巧可以帮的上润乾报表用户的忙,让报表开发更方便一些。
引自:润乾报表知识库
相关文章:显示值or真实值?——谈谈导出excel的数据显示可树形展开的折叠报表的制作横向分页报表的标题切分用润乾报表轻松实现动态排序浏览式报表中如何使用checkbox