云表知识分享-国际通行的排名计算方法
2022-2-17 09:01:33
3989
2
上次分享了一个中国式分数排名计算:https://bbs.iyunbiao.com/t-6610-1.html。考虑到有些客户可能运用场景不一样,今天就再分享另外一个国际惯例的排名方式,先给他说明一下这两个排名的区别:例如:对数列{3,2,2,1}从大到小进行排名,按国际通行的惯例是{第一名,第二名,第二名,第四名},比如奥运会某场比赛出现并列银牌,则不发铜牌,并列是会占用一个名次。而按中国式排名,结果是{第一名,第二名,第二名,第三名} 1.因为我这边是使用单元格按钮单击事件做触发的,所以先要将计算排名数据项单元格右键设置成按钮。注:只有设置成单元格按钮才能触发填表公式的单元格按钮单击事件。 2.我们需要在数据表管理这边加两个隐藏的数据项分别是:存储当前排名,存储分数 。 3.我们在填表公式单元格按钮这边天就一个赋值公式,使用我们明细数据源,将明细的分数赋值给我们的存储分数数据项 4.用存储分数作为值变化数据项触发,首先先做一个最初的默认值"1"赋值给,存储当前排名。注:因为我们的最大排名他下在下一步公式是过滤不出数据,所以这里要给他另外写个赋值 5.下面的就是核心公式了,使用明细数据源,用: 本表单.明细.分数 > 本表单.存储分数 去进行比较,看明细分数大过当前分数有多少个,然后用"本表单.存储当前排名 + 1" 。注:"本表单.存储当前排名 + 1"就是大过一个排名就加1,那么我们的排名就是往后了 6.最后将运算的分数排名结果返回给到我们的分数明细表即可 7.效果图 |
+1
0