Rank

Rank 是一个财务函数,它为指定范围中的值提供排名值。Rank 函数由 Oracle Hyperion Financial Reporting 处理,并且不依赖数据库连接。函数语法:

Rank([Reference], Order)

Rank([Reference], Order, Unique)

参数 说明

Reference

要排名的单元格、行或列的范围,用字母标识列并用数字标识行。例如,指定 [A,1:5] 以对列 A 中的行 1 到行 5 的值进行排名。

可以将 .ifNN 属性应用到某个单元格范围,以便为此范围中的所有非数字值单元格分配数字,从而对其进行排名。例如,可以使用 .ifNN(-1) 将值 -1 分配给任何带有缺少值的单元格。

Order

指定值的排名顺序。按升序排名时,最小值的排名结果是 1。按降序排名时,最大值的排名结果是 1。可以使用以下任何关键字或值来指定顺序:

  • Ascending

  • Descending

  • Asc

  • Des

  • Desc

  • 1(数字 1 与 "ascending" 相同)

  • 0(零与 "descending" 相同)

这些关键字不区分大小写。

注:

不要将指定顺序的数字或关键字括在引号中。

Unique(可选)

可选。它是一个指定如何处理引用参数中的相等值的布尔型关键字,其中:

  • false(或忽略)- 相等的值获得相同的排名;排名结果可能会重复

  • True - 相等的值获得唯一的排名;无重复的排名。引用参数中的值按照先出现先排名的原则进行排名。例如,如果行 2 和行 5 中的值相等,则行 2 中的值排在行 5 中的值之前。

示例

列 B 中的以下公式将按降序给列 A 中的行 1 至 5 的值排名:

Rank([A,1:5], descending)

结果类似于:

Product East Rank

Cola

16

2

Fruit Drinks

23

1

Beer

16

2

Diet

missing

missing

Root Beer

0

4

如果两个值相等,则它们获得相同的排名值。在上例中,Cola 和 Beer 具有相同的值,因此具有相同的排名。

列 B 中的以下公式将值 -1 分配到任何非数字值,以便能够对此非数字值排名:

Rank([A,1:5].ifNN(-1), descending)

在以下结果中,缺少的值现在具有排名 5:

Product East Rank

Cola

16

2

Fruit Drinks

23

1

Beer

16

2

Diet

missing

5

Root Beer

0

4

示例:

下面的示例以上一个示例为基础,说明了 Unique 参数如何影响结果:

列 B 中的以下公式将值 -1 分配到任何非数字值,以便能够对此非数字值排名,而且还指定每个排名均应唯一:

Rank([A,1:5].ifNN(-1), descending, true)

在以下结果中,缺少的值现在具有排名 5,而 Beer 具有值 3(即使它具有与 Cola 相同的数据值):

Product East Rank

Cola

16

2

Fruit Drinks

23

1

Beer

16

3

Diet

missing

5

Root Beer

0

4