1. 概述
1.1 预期效果
在我们制作报表过程中,当在同一个维度进行对比的时候,希望能高亮显示其中的最大值或最小值,效果如下图所示:
1.2 实现思路
通过设置「条件属性>背景」实现。其中判断「最大值」和「最小值」有两种方法:
1)通过设置「数据列>汇总>最大值/最小值」。
2)使用公式 MAX() 或 MIN() 。
2. 示例
2.1 准备数据
新建普通报表,新建数据库查询 ds1:SELECT * FROM 销量。
2.2 方法一
1)设计报表的初始样式如下图所示:
其中 D 列、E 列只作为条件使用,设置完成后需被隐藏。选中 D、E 列,在列序号处单击鼠标右键,选择隐藏,如下图所示:
单元格具体设置如下表所示:
单元格 | 数据列 | 数据设置 | 数据设置方式 | 扩展方向 | 左父格 | 上父格 |
---|---|---|---|---|---|---|
A4 | 地区 | 分组 | 普通 | 纵向 | 默认 | 默认 |
B4 | 销售员 | 分组 | 普通 | 纵向 | 默认 | 默认 |
C2 | 产品类型 | 分组 | 普通 | 横向 | 默认 | 默认 |
C3 | 产品 | 分组 | 普通 | 横向 | 默认 | 默认 |
C4 | 销量 | 汇总 | 求和 | 无 | 默认 | 默认 |
D4 | 销量 | 汇总 | 最大值 | 无 | 默认 | 默认 |
E4 | 销量 | 汇总 | 最小值 | 无 | 默认 | 默认 |
2)选中 C4 单元格,点击右侧「条件属性」,添加两个条件属性,重命名为「最大值」和「最小值」。
当「当前格子」等于最大值 D4 单元格时,背景显示为绿色。如下图所示:
当「当前格子」等于最小值 E4 单元格时,背景显示为黄色。如下图所示:
2.3 方法二
设计报表时,不使用「数据列>汇总」求最大值和最小值,直接在「条件属性」中使用公式判断最大值和最小值也可以实现相同效果。
将上述「最大值」和「最小值」的条件类型由「普通」修改为「公式」即可。
「最大值」公式为:C4 = MAX(C4[!0]{B4 = $B4})。如下图所示:
「最小值」公式为:C4 = MIN(C4[!0]{B4 = $B4})。如下图所示:
注:公式中 C4[!0] 即 C4 单元格扩展出来的所有值,{B4 = $B4} 表示以单元格 B4 扩展后对应位置上的值作为条件过滤。
2.4 效果预览
2.4.1 PC 端
保存报表,点击「分页预览」,效果如 1.1 节预期效果一致。
2.4.2 移动端
App 端和 HTML5 端均支持,效果如下图所示:
3. 模板下载
已完成模板可参见:
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\最大最小值高亮显示方法一.cpt
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\DetailReport\最大最小值高亮显示方法二.cpt
点击下载模板: