使用公式进行不间断排名

编辑
  • 文档创建者:axing
  • 浏览次数:2632次
  • 编辑次数:3次
  • 最近更新:Kevin-s 于 2019-06-18
  • 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

    点击下载模板


    附件列表


    主题: 报表设计
    标签: 暂无标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]