• Tableau 计算排名或行号


    分析函数(有时称为窗口计算)使您能够对整个表或数据集中的所选行(分区)执行计算。例如,在将排名应用于所选行时,可以使用以下计算语法:

    {PARTITION [field]: {ORDERBY [field]: RANK() }}
    • PARTITION(可选):指定要对其执行计算的行。可以指定多个字段,但如果要使用整个表,请省略函数的此部分,Tableau Prep 会将所有行视为分区。例如 {ORDERBY [Sales] : RANK() }

    • ORDERBY(必需):指定要用于生成排名序列的一个或多个字段。

    • Rank ()(必需):指定要计算的排名类型或 ROW_NUMBER ()。Tableau Prep 支持 rank()、RANK_DENSE()、RANK_MODIFIED()、RANK_PERCENTILE() 和 ROW_NUMBER() 函数。

    • DESC 或 ASC(可选):表示降序 (DESC) 或升序 (ASC) 顺序。 默认情况下,排名按降序排序,因此无需在表达式中指定此项。如果要更改排序顺序,请向表达式中添加 ASC。

      也可以在函数中同时包括这两个选项。举例来说,如果要对所选行进行排名,但希望按升序对行进行排序,然后按降序应用排名,则应在表达式中包括这两个选项。例如:{PARTITION [Country], [State]: {ORDERBY [Sales] ASC,[Customer Name] DESC: RANK() }}

    使用此功能时,以下要求适用:

    • 不支持在 RANK () 函数中嵌套表达式。例如,不支持 [Sales]/{PARTITION [Country]: {ORDERBY [Sales]: RANK() }} / SUM( [Profit] )}
    • 不支持将 RANK () 函数与其他表达式结合使用。例如,[Sales]/{PARTITION [Country]: {ORDERBY [Sales]: RANK() }} 不受支持。

    一、支持的分析函数

    函数描述示例
    RANK()从 1 开始按升序或降序为每一行分配整数排名。如果行具有相同的值,则它们共享分配给该值的第一个实例的排名。在计算下一行的排名时,将添加具有相同排名的行数,因此您可能无法获得连续排名值。
    RANK_DENSE()从 1 开始按升序或降序为每一行分配整数排名。如果行具有相同的值,则它们共享分配给该值的第一个实例的排名,但不会跳过任何排名值,因此您会看到连续排名值。
    RANK_MODIFIED()从 1 开始按升序或降序为每一行分配整数排名。如果行具有相同的值,则它们共享分配给该值的最后一个实例的排名。不会跳过排名值。Rank_Modified 的计算方式为 Rank + (Rank + Number of duplicate rows - 1)
    RANK_PERCENTILE()

    从 0 到 1 按升序或降序为每一行分配百分比排名。RANK_PERCENTILE 的计算方式为 (Rank-1)/(Total rows-1)

    注意:如果出现平局,Tableau Prep 会向下舍队,类似于 SQL 中的 PERCENT_RANK()。

    ROW_NUMBER()为每个唯一行分配连续的行 ID。如果具有重复行并使用此计算,则每次运行流程时,如果行的顺序发生更改,结果可能会发生变化。

    详细参考: 创建详细级别、排名和分片计算 - Tableau

    二、排名类型

    有关排名计算的一个问题是,可能存在多个具有相同值的标记。例如,如果 Central 区域中的 Tables 和 South 区域中的 Appliances 的销售额都正好是 36,729 美元,会发生什么情况?当您将“计算类型”设置为“排名”时,Tableau 会在“表计算”对话框中包括一个附加字段,以允许您指定如何处理这种情况。

    下面列出了相关选项。每个选项开头的数字序列显示该选项将如何对一组假设值进行排名,这组值包含四个值并且有两个值完全相同:

     详细参考:表计算类型 - Tableau

  • 相关阅读:
    Linux目录与路径
    C/C++学校运动会管理系统
    windows 11 install windows subsystem for android
    第1篇 Linux Docker安装rabbitmq
    c++中的特殊类设计
    strcat · strstr | 使用场景与模拟实现
    apache paimon在flink中做维表join的优势
    CSS基础入门笔记(选择器)
    java File类基本概念基本构造方法使用
    day-3-4-2
  • 原文地址:https://blog.csdn.net/conving/article/details/127773795