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