1. 概述编辑
1.1 预期效果
使用公式 SORT( ) 进行排名时,相同数据会有一样的排名。例如孙林和王新都是98分,则并列第 3 。
那么如何实现连续排名呢?使得最终排序得到的名次是连续的。例如,孙林和王新相同的 98 分依次排第 3 名、第 4 名,如下图所示:
1.2 实现思路
首先对数据进行排序处理,然后通过单元格公式即可实现连续排名。
2. 示例编辑
2.1 模板准备
2.1.1 新建数据集
新建内置数据集「成绩」,如下图所示:
2.1.2 设置报表样式
设置报表样式,如下图所示:
1)将「成绩.name」字段拖入 A2 单元格、「成绩.score」字段拖入 B2 单元格,在 C2单元格中输入公式SORT(B2),D2 单元格中输入公式 :COUNT(GREPARRAY(GREPARRAY(B2[!0;!0], index < &B2), item = $B2)) + COUNT(B2[!0;!0]{B2 > $B2}) + 1
注:COUNT(GREPARRAY(GREPARRAY(B2[!0;!0], index < &B2), item = $B2))计算在当前扩展数据之前,B2 扩展出的数据等于当前扩展数据的单元格的个数,COUNT(B2[!0;!0]{B2 > $B2}) 计算 B2 单元格扩展出的所有数据中比当前数据大的单元格的个数。
2)选中 A2 单元格,点击「单元格属性」>「扩展」,设置左父格为 「B2」单元格,如下图所示:
3)选中 B2 单元格,点击「单元格属性」>「扩展」,设置左父格为「无」。
设置「扩展后排序」为「降序」,在公式位置输入「B2」,如下图所示:
2.2 效果预览
2.2.1 PC 端
保存报表,点击分页预览,效果如下图所示:
2.2.2 移动端
App 及 HTML5 端效果预览如下图所示:
3. 模板下载编辑
已完成模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\function\使用公式进行不间断排名.cpt。
点击下载模板:使用公式进行不间断排名.cpt