动态排名

编辑
文档创建者:zsh331 (73316 )     浏览次数:537次     编辑次数:5次     最近更新:jiangsr 于 2018-03-16     

目录:

1. 描述编辑

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

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

222

2. 解决方案编辑

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

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

参数说明:

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

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

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

3. 示例编辑

3.1 内置数据集

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

222

3.2 模板设置

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

222

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

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

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

4. 保存预览编辑

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

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

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

附件列表


主题: 设计思路
如果您认为本文档还有待完善,请编辑

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

此页面有帮助吗? [ 去社区提问 ]