想取一组数字的尾部前10,需求是取完尾部前10后,且显示的排名数字保留原排名数字(下图1中的191-200)。
但用高级计算筛选尾部前10后,排名从1开始重排了。要如何达到我的目的呢?
下文介绍卡片里面的实现方法,没有一键直接的功能,需要自己新建字段排序,不能使用系统自带的排序。
且需要开窗排序2次,用升序做筛选,降序做展示,只能用dense_rank,其他排序函数结果不对。
1、先对数值字段按照卡片使用的维度分组求和,sum([销售金额])over(partition by [大区]),字段换成你卡片中的维度和数值字段。
2、降序字段做展示,dense_rank( ) over(partition by 1 order by [第一步的求和字段] desc)。
3、升序字段做筛选,dense_rank( ) over(partition by 1 order by [第一步的求和字段] )。
4、把第三步的升序字段放在筛选栏,选择小于等于10,数值栏放第二步的降序字段做展示,保留降序排名结果。
如下图案例筛选小于等于2,就是展示尾部最后2名的数值。