很多时候在qlikview垂直表或者交叉表中需要使用rank函数排名,下面简单阐述一下rank函数 的使用方法和原理,rank函数一般有3个参数,比如rank(sum(sales),4,0),第一个参数是需要排名的字段,第二参数和第三参数都是格式化排名之后的值,第三参数有3个值,分别为0、1、2,0表示相同的排名以 低值 &' - '& 高值的文本显示,1为全部行的高值,2 为第一行的低值,以后各行都为空白,以下是三个值的返回值:
所以为了排名的清楚,我们一般第三参数使用0或者1,很少使用2;
下面再看看第二参数,一般有5个值,分别为0、1、2、3、4,0表示排名值离上下两个值哪个最新则显示哪个值,1全部行的最低排名,2全部行的平均排名,3全部行的最高排名,4第一行的最低排名,然后每一行都提高一位,所以当出现并列排名的时候,我们需要顺次排名,那么一般使用的第二参数是4,如果需要使用并列排名的时候,一般使用1,所以如下
这里赘述一下num的转换,如果出现并列的时候,一般是 低值 &' - '& 高值方式显示,所以我们将之转换为数值显示,我这里保留一位小数是为了验证NUM(Rank(SUM(数量),2,0),'#.0'),排名的中间值,NUM(Rank(SUM(数量),4,0),'#.0') 的结果就是没有并列排名的结果,如有描述不当请谅解,谢谢!