21. 序号

很多报表应用场景需要在记录或者字段标识中展示序号,这对于以单元格扩展来形成报表同时填入数据来说,将是一件容易见的事,下面介绍两种最常用到的序号情形。

单组序号

整体排序说的是单纯的为所有字段,或所有记录排出序号,不存在不同分组下令起排序的情形。

以报表样例库典型报表中的序号报表为例,序号报表定义如下图所示:

56

取得序号有两种方式

  • SeqNum()公式
    公式会返回当前单元格在复制出的所有单元格中的序号,序号从1开始。需要与依赖关系一起使用。
  • IndexOf(collection_value, object)公式
    collection_value为报表所支持的集合表达式,object为不限类型的对象,公式返回object在collection_value集合中的序号,要注意的是所返回序号,第一个元素的序号是0,第二个元素的序号是1,依此类推,所以在应用其取得排序序号情形下,通常要做加1处理。

    在此用较为简单的SeqNum()公式来实现。在web端查看,序号报表的行列分别加入了以上两种情形的序号,如下图所示:

58

各组内序号

在各组内排序的情形,即在不同分组之间要起新的排序。这种情形下,通常用offset公式能够更简易的解决,以报表样例库典型报表的多层交叉汇总表为例,来介绍如何实现对各地区的用户前面添加序号。

1.报表定义如下图所示:

59

2.定义客户列,在D4单元格,定义要展现的客户和前面的序号,我们可以定义为:=offset('b6')+1 或者 =indexof(cell('C4',{&get( 'ds1', 'REGION')=b4}),C4)+1 两种方法,本例采用更简易的offset公式定义方法来进行实现,如下图所示:

60

3.在web端查看,报表展现结果如下图所示:

61

results matching ""

    No results matching ""

    results matching ""

      No results matching ""