用Java报表工具FineReport层次坐标实现分条件设置行高

在中国式复杂web报表设计中,常常有一些涉及动态单元格间计算的问题,并根据动态单元格构建条件实现更为复杂的需求。FineReport报表工具提供了层次坐标和条件属性的结合使用来实现这种需求
下图为一张未设置条件属性的报表
未设置条件属性的报表
要求:当某地区的“收费站”为多个时,则显示“小计”一栏;当某地区的“收费站”只有一个,则不显示“小计”一栏,即“龙溪收费站”不需要显示“小计”一栏。所需效果如下图所示
分条件设置行高的报表
下面便来看看用Web报表工具FineReport实现如图所示效果的全过程
1.报表表样设计
报表表样设计
此时预览报表效果就是未添加任何条件的一个简单分组报表,如下图
简单分组报表
2.添加条件属性
条件属性面板如下
为了实现“小计”一栏能够分情况显示,就需要用到FineReport报表的“条件属性”,即B2单元格扩展出的结果等于1的时候,“小计”一行行高为0,否则“小计”一行正常显示。
则此条件的公式为count(B2[!0]{A2==$A2})==1
其中,A2==$A2指A2单元格扩展出的当前格子
B2[!0]指B2单元格扩展出的所有格子
B2[!0]{A2==$A2}则是指A2单元格扩展的当前格子对应的B2扩展的所有单元格
count(B2[!0]{A2==$A2})则是给B2扩展的格子计数。
3.报表效果预览
如下图所示,预期报表效果已经实现
报表效果预览
立即发现·数据价值

推荐阅读

→ 如何搭建科学的MES报表系统? → 怎样用图表分析数据(一) → 甘特图(Gantt chart)深度解析 → 用了这款自动化表格制作软件,跟手工表格说再见 → 3步搞定销售分析报表 → 融资?不要!上市?不急!这个帆软有点酷…… → jasperReport+Ireport和FineReport报表的对比 → BIRT报表深度解析之BIRT中国企业级用户流失之谜 → 自定义报表之自定义参数界面 → 谈谈数据决策平台搭建的必要性
版权所有©2017 南京帆软软件有限公司 | 苏ICP备14031611号-3
返回顶部