反馈已提交

网络繁忙

动态排名

  • 文档创建者:zsh331
  • 历史版本:12
  • 最近更新:Catqiu 于 2022-08-22
  • 1. 概述

    1.1 预期效果

    一般情况下,排名都是通过 SORT 函数 的方式实现。

    但有时用户需实现:在填报模式下,根据输入值的不同来“动态改变”某一列值的排名情况功能时,上面的方法就无法满足了,预期效果如下图:

    1.2 实现思路

    通过报表内置的 rank() 函数来变换实现。

    RANK(number,ref,order):返回一个数在一个数组中的秩。(如果把这个数组排序,该数的秩即为它在数组中的序号。)

    参数说明:

    number:所求秩的数(可以是 Boolean型,true=1,false=0)

    ref:可以是数组,引用,或一系列数,非实数的值被忽略处理(接受 Boolean 型,true=1,false=0)

    order:指定求秩的参数,非零为升序,零为降序

    2. 示例

    2.1 准备数据

    新建普通报表,新建内置数据集,新增两个字段为:「姓名」、「分数」,类型分别为「字符串」、「整数」。如下图所示:

    1608030688300326.png

    2.2 设计报表

    将字段拖入对应的单元格中,设计表格如下图所示:

    1)给 C2 单元格添加 数字控件

    2)D2 单元格输入公式:B2+C2

    3)E2 单元格输入公式:rank(D2, D2[!0], 0),其中 D2[!0] 表示 D2 扩展出来的所有单元格

    注:其中 B2 ,C2 默认需为数字格式,才可实现排名,若 B2 ,C2 单元格为其他格式,则会出现下图情况:

    image.png

    此时在 D2 单元格输入公式 sum(B2+C2),则可解决排名乱码问题。

    2.3 保存预览

    1)PC端

    保存模板,点击「填报预览」,效果同 1.1 节预期效果一致。

    2)移动端

    App 端和 H5 端均支持,效果如下图所示:

    AC89CB3D-05C8-45CC-BBB4-951D684EC1D1.GIF

    3. 已完成模板

    已完成模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\动态排名.cpt

    点击下载模板:动态排名.cpt

    附件列表


    主题: 报表专题
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持