反馈已提交

网络繁忙

您正在浏览的是 FineBI6.1 帮助文档,点击跳转至: FineBI5.1帮助文档

RANK_AGG-按指定规则排序

  • 文档创建者:April陶
  • 历史版本:11
  • 最近更新:April陶 于 2024-11-05
  • 1. 概述

    1.1 版本

    FineBI版本
    功能变动
    6.1.2-

    1.2 函数简介

    语法RANK_AGG([分组字段1,分组字段2], [排序字段1,"排序方式",排序字段2,"排序方式"], "排序模式")  


    按照指定规则进行排序


    参数1分组字段排序计算依据的分组字段,明细级别,可以缺省,缺省则不按照任何字段分组
    参数2排序字段排序计算顺序的依据字段,明细级别,可以缺省,缺省则按照默认顺序计算
    参数3排序方式

    支持 "asc"、"desc" 两个关键词,分别对应升序和降序排序,如缺省需要缺省所有排序方式,缺省则按照排序字段升序进行计算。

    参数4排序模式

    指定排序规则,共支持4种,可以缺省,缺省默认为一般排

    一般排序:COMMON:1、2、2、4 

    密集排序: DENSE:1、2、2、3 

    连续排序: UNIQUE:1、2、3、4 

    比例排序: PERCENTILE:0、0.33、0.33、1

    1.3 释义

    排序规则有 4 种:

    一般排序(COMMON):

      • 定义:这是最常见的排序方法,每个数据点按其在排序中的位置赋值。如果有重复的值,它们共享相同的排序值,后续的排序值会跳过。

      • 场景:适用于基本统计分析,特别是想要直接反映数据在集合中的排名情况。当你需要识别每个数据点在数据集中的具体排名,且关注每个重复值的相同重要性时使用。例如,在考试排名中,如果两位学生分数相同,他们可以共享相同的排名,且后面的名次会跳过,显示两个学生有相同的表现。

      • 示例:对于数据 23、45、45、76,排序值是 1、2、2、4。这里的 1 是第一个最小的值,2是第二个值,4是最大的值的位置。

    密集排序(DENSE):

      • 定义:和一般排序类似,但即使数据值重复,排序值也不会跳跃。重复值共享同一排序值,下一个非重复值紧接着获得下一个排序值。

      • 场景:适用于数据分析中保持数据的连续性,但不希望由于重复值而跳过排序值。这种排序可以用于想要简洁和连续的排名情况,例如运动比赛排名,当需要连续显示名次,而不是跳过位置。

      • 示例:对于数据 23、45、45、76,排序值是 1、2、2、323 赋值 145赋值 2,而 76赋值 3。注意这里没有跳过 3,即使 45是重复数据。

    连续排序(UNIQUE):

      • 定义:每个值都被赋予唯一的排序值,确保数据不会出现重复排名,即使有重复的值也会继续增加排序值。

      • 场景:适用于需要确保数据中的每个值有唯一的排序,不允许重复值的排名系统。例如在某些分析中,所有的项目都必须具有独特的排名,或者在去重分析场景中,这种排序方法可以避免数据混乱。例如,在金融投资回报率分析中,每个投资方案都应获得唯一的排名,即使两个方案回报率相同,系统也会给予它们不同的排名。

      • 示例:对于数据 23、45、45、76,排序值是 1、2、3、4。每个唯一值都被赋予一个唯一的排序值,从 1 开始逐渐增加。

    比例排序(PERCENTILE):

      • 定义:将数据按其在整个数据集中所占的百分比位置分配排序值,生成0到1之间的比例值,表示该数据在集合中的相对位置。

      • 场景:适用于需要将数据标准化或归一化,从而对数据分布进行评估。这在统计分析中非常常见,特别是在描述数据的相对位置时,例如判断数据值处于何种百分位数。这种排序在大数据分析统计分布分析、以及社会科学研究中广泛使用。

      • 示例:对于数据 23、45、45、76,排序值是 0、0.33、0.33、1。这意味着 23 排名在最下端(0%),45 排名在中间(33%),而 76 排名在最高端(100%)。


    如果我们对班级学生的分数进行排序,不同排序模式下排序结果如下图所示:

    • 一般排序:RANK_AGG([],[SUM_AGG(分数),"desc"],"COMMON")

    • 密集排序:RANK_AGG([],[SUM_AGG(分数),"desc"],"DENSE")

    • 连续排序:RANK_AGG([],[SUM_AGG(分数),"desc"],"UNIQUE")

    • 比例排序:RANK_AGG([],[SUM_AGG(分数),"desc"],"PERCENTILE")

    2024-09-18_19-17-54.png

    2. 注意事项

    • 详情请参见:WINDOW函数概述-注意事项

    • RANK_AGG 函数输出的是聚合字段,在自助数据集中不支持直接输出,需要与 DEF 函数组合后输出明细级别字段。

    3. 示例

    公式结果备注
     RANK_AGG([省份],[SUM_AGG(销售额)])省内按照销售额求和进行升序排列


    4. 密集排序-并列排名不占位

    详情参见文档:并列排名不占位

    5. 交叉表求横向排名

    2024-08-14_15-43-51.png

    5.1 制作交叉表

    分析各「类别」下不同「子类别」,各「地区」的「销售额」情况,并对销售额设置数值格式。如下图所示:

    2024-08-14_15-33-05.png

    5.2 计算不同地区销售额排名

    按「类别、子类别」分组,对销售额降序排名,如下图所示:

    公式=RANK_AGG([类别,子类别],[SUM_AGG(销售额),"desc"])

    2024-08-14_15-37-47.png

    将字段拖入交叉表中,得到排名。如下图所示:

    2024-08-14_15-43-51.png


    附件列表


    主题: 进阶学习
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持