历史版本2 :不并列连续排名 返回文档
编辑时间:
内容长度:图片数:目录数:
修改原因:
1. 问题描述编辑
使用帆软内置公式SORT( )进行排名时,相同的数据排名一致,后面的数据则跳号排名。
如下图,98分都是第3名,97分则跳到了第5名。如何实现第四列一样的连续不间断排名呢(相同的数据根据先后顺序排名依次递增,排名不跳号)?
2. 解决思路编辑
1)第一种,先把数据数据排序,再利用seq( )公式生成连续的序号。
2)第二种,先使用SORT( )进行排名,再加上前面出现同样数据的次数。
3. 解决方法编辑
1)创建内置数据集如下:
2)报表设计如下,B2单元格设置为列表,A2单元格填写公式=seq( ),并设置左父格为B2。
3)增加C列,填入公式SORT(B2) + COUNT(GREPARRAY(GREPARRAY(B2[!0;!0], index < A2), item = $B2))
4)保存预览,效果如下:
可以看到,seq( )和SORT(B2) + COUNT(GREPARRAY(GREPARRAY(B2[!0;!0], index < A2), item = $B2))公式的排名结果是一样的。
实际项目中,需要排名的数据可能没有排序,或者有其他列已经排过序,影响了排名数据列的顺序。这时候seq( )就只是个普通的序号,失去了排名作用,而SORT(B2) + COUNT(GREPARRAY(GREPARRAY(B2[!0;!0], index < A2), item = $B2))则无论什么情况仍然正常排名
4. 移动端编辑
4.1 PC端预览效果
保存模板,点击分页预览,实现效果如描述中所示。
4.2 移动端预览效果
1)app效果
2)h5效果
5. 已完成模板编辑
已完成模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\function\使用公式进行不间断排名.cpt。