Spotfire® 用户指南

排名函数

下面的列表显示了可在表达式中使用的排名函数。

函数说明
DenseRank(Arg1, Arg2, Arg3...)返回选定列中各个值的整数值排名。第一个参数是要进行排名的列。

可选参数是一个字符串,可决定使用升序排名(默认)还是降序排名。要检索排名 1 以获得最大值,使用参数“desc”;要检索排名 1 以获得最小值,使用“asc”。

相同的排名值不分先后,最大排名编号等于列中唯一值的数量。

列应拆分为单独排名的类别时,可以使用其他列参数(可选)。

示例:

DenseRank([Sales])

DenseRank([Sales], "desc", [Region])

例如,请参见排名

Rank(Arg1, Arg2, Arg3...)返回选定列中各个值的整数值排名。第一个参数是要进行排名的列。

可选参数是一个字符串,可决定使用升序排名(默认)还是降序排名。要检索排名 1 以获得最大值,使用参数“desc”;要检索排名 1 以获得最小值,使用“asc”。

排名值不分先后,具体取决于可选参数的值:

"ties.method=minimum"(默认),

"ties.method=maximum",或者

"ties.method=first"。

有关可用参数的更多信息,请参见关于排名等级的更多信息

列应拆分为单独排名的类别时,可以使用其他列参数(可选)。

示例:

Rank([Sales])

Rank([Sales], "desc", [Region])

Rank([Sales], "ties.method=first")

例如,请参见排名

RankReal(Arg1, Arg2, Arg3...)返回选定列中各个值的实数值排名。第一个参数是要进行排名的列。

可选参数是一个字符串,可决定使用升序排名(默认)还是降序排名。要检索排名 1 以获得最大值,使用参数“desc”;要检索排名 1 以获得最小值,使用“asc”。

排名值不分先后,具体取决于可选参数的值:

"ties.method=minimum"(默认),

"ties.method=maximum",

"ties.method=first",或者

"ties.method=average"。

有关可用参数的更多信息,请参见关于排名等级的更多信息。使用斯皮尔曼等级计算数据关系时,将使用平均等级方法。

列应拆分为单独排名的类别时,可以使用其他列参数(可选)。

示例:

RankReal([Sales])

RankReal([Sales], "desc", [Region])

RankReal([Sales], "ties.method=average")

注: 如果轴使用自定义表达式且排名设置为“轴表达式评估依据:仅当前筛选”,则会在每次筛选时重新计算排名。

关于排名等级的更多信息:

通过函数 Rank 和 RankReal,可以根据您希望如何对相同值进行排名来添加可选层级方法参数。

参数说明
"ties.method=minimum"为所有层级提供层级值的最小排名值。
"ties.method=maximum"为所有层级提供层级值的最大排名值。
"ties.method=first"为第一个找到的层级值提供最小排名值,并继续对下一个层级使用后续排名值。
"ties.method=average"为所有层级提供排名值的平均值。

示例:

对列表进行排名后,其值排在所有已排序值的第一位。然后,根据已排序列表中的顺序,为已排序的值指定排名值。为层级值指定的排名取决于层级方法。空值保留为空,并且不会获得任何排名。

值列表排名为 "ties.method=minimum"排名为 "ties.method=maximum"排名为 "ties.method=first"排名为 "ties.method=average"
11111
22322.5
34444
22332.5
(空)(空)(空)(空)(空)
55555

如果使用 DenseRank,示例中的结果排名值将为 1 2 3 4。

另请参见函数