动态排名

编辑
  • 文档创建者:zsh331
  • 浏览次数:2653次
  • 编辑次数:8次
  • 最近更新:Carly 于 2019-07-25
  • 1. 描述

    一般情况下,排名都是通过 排名组内排名 的方式实现。

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

    2. 解决方案

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

    RANK(A,B,C)返回一个数在一个数组中的秩(如果把这个数组排序,该数的秩即为它在数组中的序号

    参数说明:

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

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

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

    3. 示例

    3.1 内置数据集

    新建模板,添加内置数据集,如下所示:

    3.2 模板设置

    将字段拖入对应的单元格中,模板设置如下:

    给C2单元格添加“数字控件”

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

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

    4. 保存预览

    保存模板,选择填报预览。

    分别在C2单元格中输入不同的数值,E2单元格的排名值随着总分的变化而动态变化,效果如上图。

    5. 已完成模板

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

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


    附件列表


    主题: 设计思路
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

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

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