随笔 - 225  文章 - 98  trackbacks - 0
<2014年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

随笔分类

相册

报表工具厂商们

搜索

  •  

最新评论

阅读排行榜

与静态图表不同,动态图表的核心在于数据和图表类型可随条件的不同即时展现,即除了能展现一般的静态图表内容之外,动态图表还有很好的交互性。动态图表实现原理与动态报表类似,是基于参数传递或数据过滤实现的,本文介绍的是基于数据参数传递原理的动态图表。


动态图表数据


用户希望根据条件的不同,显示的图表不同,这是动态图表产生的最初推动力。如下图,选择年份与月份条件,图表中显示满足条件的数据,从而实现动态图表:
动态图表


实现思路


根据参数条件动态改变图表的数据来源:


若图表数据来源于数据集,那么可以通过数据源参数来动态改变图表的数据;


若图表数据来源于单元格,那么可以通过报表参数,并设置过滤来改变图表的数据,该节就以此为例。


示例


1 准备数据


新建工作薄,添加数据集ds1,SQL语句为SELECT Year(订购日期)as 年, month(订购日期)as 月, 货主省份, 应付金额 FROM
[订单] 。


2 定义参数


我们根据选择的年份与月份来动态改变图表,定义3个报表参数:
报表参数Year:年份,默认值为2010;
报表参数Start:起始月份,默认值为1;
报表参数End:结束月份,默认值为6。


参数界面设计如下:
动态图表


3 表样制作
在单元格中统计出各省某年若干月的销售额情况并汇总,如下图:
动态图表


数据列设置如下:
单元格 数据集 数据列 属性
A3 ds1 货主省份 设置过滤条件:年 等于$Year
B3 ds1 年
默认
C2 ds1 月 从左到右扩展,设置过滤条件:月 大于或等于$Start and 月 小于或等于$End
C3 ds1 应付金额
汇总-求和


根据参数值的不同,单元格中统计出来的数据不同,以单元格作为数据来源,图表显示的数据也不同,从而实现动态图表。


4 插入图表


合并一片单元格如上图,右击单元格元素>插入图表,选择柱形图,点击确定。


5 图表类型设置


柱形图种类选择三维柱形图,如下图:
动态图表


6 图表数据设置


图表数据来源于单元格数据分类轴为地区,系列名称为月份,系列值为销售额,如下图:
动态图表


点击保存,一张根据参数的改变动态改变的图表便制作完成了。


7 动态标题设置


给图表设置一个动态的标题,选中图表,选择图表属性表-样式>标题,点击公式按钮,公式为=$Year+”年度”+$Start+”—”+$End+”月销售额统计”,根据参数的不同显示动态标题。


动态图表


最后报表主体中模板样式如下图:
动态图表


8 保存与预览


保存模板,点击分页预览,效果如上。模板效果在线查看请点击Dynamic.cpt
已完成模板可参考%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Chart\Dynamic.cpt。


图表动态展示


FR图表在BS下可以动态显示(只有二维图表才有动态效果,三维图表无此功能),如下图:
动态图表


设置方法


二维图表默认就开启了“动态展示”,单击选中图表,在设计器右侧图表属性表中选择特效,点击交互属性,可将动态展示设置为关,如下图:
动态图表


原文转载自:FineReport官网:http://www.finereport.com/knowledge/chart/dynamiccharts.html



了解Java报表工具就从这里开始
posted on 2014-12-11 15:00 season 阅读(125) 评论(0)  编辑  收藏 所属分类: Java报表—技术知识

只有注册用户登录后才能发表评论。


网站导航: