历史版本2 :不并列连续排名 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 问题描述编辑

使用帆软内置公式SORT( )进行排名时,相同的数据排名一致,后面的数据则跳号排名。

如下图,98分都是第3名,97分则跳到了第5名。如何实现第四列一样的连续不间断排名呢(相同的数据根据先后顺序排名依次递增,排名不跳号)?

222

2. 解决思路编辑

1)第一种,先把数据数据排序,再利用seq( )公式生成连续的序号。

2)第二种,先使用SORT( )进行排名,再加上前面出现同样数据的次数。

3. 解决方法编辑

1)创建内置数据集如下:

222

2)报表设计如下,B2单元格设置为列表,A2单元格填写公式=seq( ),并设置左父格为B2。

222

3)增加C列,填入公式SORT(B2) + COUNT(GREPARRAY(GREPARRAY(B2[!0;!0], index < A2), item = $B2))

222

4)保存预览,效果如下:

222

可以看到,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效果

222

2)h5效果

222

5. 已完成模板编辑

已完成模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\function\使用公式进行不间断排名.cpt