1. 概述
1.1 应用场景
排名时希望相同数据的名次并列,且下面的数据可以跳号排名。
如下图示例,成绩都为 98 的两位同学,并列第 3 名。而 97 的同学跳过第 4 名,直接为第 5 名。
1.2 实现思路
在最父格先用 高级排序 功能对字段进行排序,让名次看起来有顺序。
然后使用 count 函数和层次坐标共同实现并列跳号排序。
2. 示例
2.1 准备数据
新建内置数据集,包含两个字段姓名和分数,其中分数设置为整数类型,方便高级排序,请勿使用字符串类型。
2.2 设计表格
将姓名和分数字段分别拖到 A2 和 B2 单元格中,如下图所示:
这时预览效果如下图,可以发现分数未排序。
2.3 高级排序
因为高级排序必须在最父格中实现,模板中 A2 是最父格,所以给 A2 单元格添加高级排序,对分数字段降序排序。下图公式栏里面填要排序的那个字段名就行。
这时预览效果如下图,分数按照从高到低降序排序。
2.4 表示名次
C2 单元格插入公式count(B2[!0]{B2 > $B2}) + 1,实现并列跳号排名,如下图所示:
公式的解释可以参见 分组排名 那篇文档里面视频的说明。
2.5 效果预览
保存报表,分页预览后,最终排名效果如下图所示:
支持 App 端和 HTML5 端预览。
3. 模板下载
已完成的模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\function\并列跳号排名.cpt
点击下载模板:并列跳号排名.cpt