求序号
序号
1. 概述
创建报表分析时以列表形式展示的分析区表格,为了方便阅读查看,经常需要对数据在表格第一列增加序号列,这个时候就用到了则需要序号表达式了,它能根据通常用于浮动单元格分析表显示出当前行序号和。
2. 函数说明
序号表达式 |
含义 |
# |
编号从1开始,如果表格有分页,序号不连续,翻到下一页时编号从1开始 |
self.index+startindex+1 |
编号从1开始,如果表格有分页,序号连续,后一页第一行的序号是接着上页序号的尾数开始 |
row() |
显示当前表元的行号,如果表格有分页,下一页从头开始,和row()同样的用法还有self.row |
3. 示例
3.1. 示例一
3.2.
场景描述:如上图所示分析表,为了便于将来阅读,需要在人员id列前增加序号列列,我们可以直接在。
将所有的的工作地点列出序号
思路:1.将”工作地点”变为浮动表元,浮动范围包含序号表达式。
2.序号表元输入“#”表达式可以写成是#,即可实现序号列设置,如下图所示,,也可以写成是self.index+startindex+1
需要注意的是,序号列是在浮动表元前增加的,要将序号列包含在浮动区中。注意事项:1.序号表达式#在分析表翻页后会从1重新排号,self.index+startindex+1则可以接着上一页继续排号
21.序号表达式仅为内存计算,不存于数据库且使用时不能有主题表字段。
32.序号表达式需要被包含在浮动区
计算效果如下:
除了可以使用“#”之外,还可以使用函数row()来设置序号列,但需要注意的是函数row()获取的是当前表元所在行号,是从0开始的。如下图所示表样,浮动行所在行为第三行,如果表达式写成是row(),则计算结果如下:
序号从2开始,如果想从1开始,表达式应写为row()-1等价于self.row-1
计算效果如下:
3.3. 示例二
我们在示例一中制作的分析表,场景描述:当表格数据较多出现分页时,可以发现当翻到下一页时,示例一中序号表达式在翻页后又1重新开始编号,如果想实现要翻页后能够继续上一页编号,序号表元表达式可以写成是:在有多页的报表中,将所有的的工作地点列出其序号
思路:1.将”工作地点”变为浮动表元,浮动范围包含序号表达式。
2.序号表达式应使用self.index+1+startindex+1等价于row()-1+startindex
注意事项:当报表有多页时,序号表达式应使用self.index+startindex+1
使用序号表达式#:
计算效果如下:
可见翻页后,序号从1开始排号
使用序号表达式self.index+startindex+1:
计算效果如下:
可见翻页后,接着上一页继续编号。排号
3.4. 示例三
场景描述:如下图所示,合并表元求连续序号,实现让第一列和第三列都分别连续编号
在合并表元中,将所有的的工作地点分别列出其序号
思路:1.将”工作地点”和”时间”分别变为浮动表元,浮动范围包含序号表达式。
2. 第一列序号是合并表元,因此使用“年份”浮动,可使用#或self.index+startindex+1;第三列要求从第一行开始连续排号,则可使用row()函数获取其行数
注意事项:1.如果第一列序号使用表达式#,则报表翻页后序号从1重新排号;
2.self.index+startindex+1会根据分析表实际行数显示序号,因此翻页后合并表元会从上一页的行数继续排号
第一列使用#,第三列使用row():
计算效果如下:
第一列使用#,第三列使用#
计算效果如下: