WRank - 脚本函数:
WRank() 评估加载脚本中表的行,并针对每一行显示加载脚本中评估的字段值的相对位置。在评估表时,函数将结果与包含当前分区的其他行的结果进行比较,并返回当前行在段内的排名。
WRank 只能在 Window 函数中使用。Window 函数必须包含排序类型和排序表达式。排序将应用于排序表达式。
语法:
WRank ([mode[, fmt]])
返回数据类型: 双
参数:
参数 | 描述 |
---|---|
mode | 也指定函数结果的数字表示形式。 |
fmt | 也指定函数结果的文本表示形式。 |
TOTAL |
如果表格是一维或如果脚本前面有 TOTAL 限定符,则该函数用于评估整列。 如果表或等效表具有多个垂直维度,则除显示字段间排序顺序中最后一个维度的列外,当前分区将在所有维度列中仅包括与当前行具有相同值的行。 |
排名作为一个双值返回,在每一行都有唯一排名的情况下,该值是当前分区中 1 和行数之间的整数。
当多行共享同一个排名时,文本和数字呈现形式可使用 mode 和 fmt 参数进行控制。
mode
第一个参数 mode 可获取以下值:
值 | 说明 |
---|---|
0(默认) |
如果共享组中的全部排行处在整个排行中间值的下半部分,全部行都获得共享组的最低排行。 如果共享组中的全部排行处在整个排行中间值的上半部分,全部行都获得共享组的最高排行。 如果共享组内的排名跨越整个排名的中间值,则所有行都会获得与整个分区中最高排名和最低排名的平均值相对应的值。 |
1 | 全部行的最低排行。 |
2 | 全部行的平均排行。 |
3 | 全部行的最高排行。 |
4 | 第一行的最低排行,然后每一行都提高一位。 |
fmt
第二个参数 fmt 可获取以下值:
值 | 说明 |
---|---|
0(默认) | 全部行中的低值 - 高值(如 3 - 4)。 |
1 | 全部行的高值。 |
2 | 第一行的低值,以后各行都为空白。 |
mode 4 和 fmt 2 的行顺序由表字段的加载顺序决定。
示例 - 添加排序字段
示例 - 使用 fmt 添加排名字段以获得单个位数的结果
示例- 添加具有多个分区的已排序字段
限制
WRank 存在以下限制:
-
如果您的 fmt 值为 0,并且希望使用 WRank 偶结果的文本部分于,则必须将 Text() 与 Window(WRank) 一起使用。例如:Text(Window(WRank(0), Unit, 'DESC', Age)) as UnitWRankedByAgeText。