1. 概述
1.1 预期效果
并列占位排名效果:1 1 1 4 5
并列不占位排名效果:1 1 1 2 3
BI 自带的排名逻辑为【并列占位】排名,那么要如何实现如下图的【并列不占位】效果呢?
如果要执行【并列占位】,直接对原始数据进行 2.1.2 节的操作。
1.2 实现思路
使用 RANK_AGG-按指定规则排序 函数,指定排序规则,实现并列排名不占位效果。
1.3 示例数据
示例数据:分数.xlsx
2. 聚合计算
2.1 制作分组表
新建分析主题,上传示例数据。详情请参见:5分钟上手FineBI。
使用以上分析数据制作分组表,并将「分数」降序排列,如下图所示:
2.2 求排名
对分数进行降序排列后,按照「密集排序(DENSE)」的规则求排名。如下图所示:
将字段拖入组件,即可获取到排名。如下图所示:
2.3 效果展示
并列排序不占位的效果如下图所示:
3. 明细计算
新建分析主题,上传示例数据,默认选择所有字段,并重命名为「并列不占位」。详情请参见:5分钟上手FineBI。
3.1 数据编辑
3.1.1 将分数相同的值分为一组
添加「分组汇总」,将字段「分数」拖入分组栏,如下图所示:
3.1.2 对分组后的分数排名
新增列「排名」,如下图所示:
分组后的分数都是唯一值,对唯一值进行排名。
2.1.3 左右合并
与原表「分数」进行右合并(保留所有右端数据,即将原表的分数和对应的分组后的排名相连接),如下图所示:
1)再次添加数据「分数」,如下图所示:
2)选择合并表「分数」
添加左右合并,选择「分数」表的所有字段,选择合并方式为右合并,合并依据为「分数」字段。如下图所示:
4)保存并更新该分析主题。
2.2 制作明细表
使用以上分析数据制作明细表,并将「排名」升序排列,如下图所示:
2.3 效果展示
并列排序不占位的效果如下图所示: