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

动态图表数据

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

实现思路

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

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

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

示例

1 准备数据

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

2 定义参数

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

参数界面设计如下:

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

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

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

4 插入图表

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

5 图表类型设置

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

6 图表数据设置

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

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

7 动态标题设置

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

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

8 保存与预览

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

图表动态展示

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

设置方法

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

java 动态统计报表_java统计图表FineReport制作动态图表相关推荐

  1. 在线报表设计实战系列 – 制作动态列与静态列混排的报表(5)

    在线报表设计实战系列 – 制作动态列与静态列混排的报表(5) 葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集成,也可独立部署运行,支持多数据源,具有无编码.灵活.稳定等 ...

  2. win10将HTML动态做桌面壁纸,Win10 怎么制作动态界面壁纸

    随着科技的发展,很多人已经不再满足于静态的图片,不管是在平时的聊天还是关于手机的壁纸都是如此,在聊天的时候会使用到GIF动态图,手机中的壁纸也会设置成小视频,那既然使用动态图这么频繁,怎么制作这些动态 ...

  3. java自定义统计报表_用Java报表工具FineReport制作人员统计报表

    阅读提示: 文章中与FineReport软件使用的相关内容,基于软件的V7.0旧版本编写,不代表软件最新的使用方式. FineReport最新版免费试用:https://www.finereport. ...

  4. 如何利用FineReport制作动态树报表

    在对数据字段进行分类管理时,利用动态树折叠数据是一个很好的方法,也就是点击数据前面的加号才展开对应下面的数据,如下图.那这样的效果在制作报表时该如何实现呢? 下面以报表工具FineReport为例介绍 ...

  5. java 动态创建实例_java – 有没有办法动态创建类(而不是实例)?

    我有一个关于如何动态创建类(而不是实例)的问题. 在我的项目中,我需要根据配置文件编写几个类似的类. 例如,有一个像这样的 JSON: { { "lang": "pyth ...

  6. java 反射 设置属性_Java通过反射机制动态设置对象属性值的方法

    /** * MethodName: getReflection * Description:解析respXML 在通过反射设置对象属性值 * User: liqijing * Date:2015-7- ...

  7. java数组循环扩容_Java中实现数组动态扩容的两种方法

    Java中实现数组动态扩容的两种方法 java中初始化一个数组需要定义数组的容量,而在我们使用数组时往往会遇到数组容量不够的情况,此时我们就需要通过动态扩容的方式来来根据需求扩大数组的容量. 我们可以 ...

  8. java导出excel报表_java生成excel报表文件示例

    此次简单的操作将数据从数据库导出生成excel报表以及将excel数据导入数据库 首先建立数据库的连接池: package jdbc; import java.io.FileInputStream; ...

  9. java导出excel报表_java怎样导出Excel报表呢?

    当前B/S模式已成为应用开发的主流,而在开发企业办公系统的过程中,常常有客户这样子要求:把系统数据库中的数据导出到Excel,用户查看报表时直接用Excel打开.或者是:用户已经习惯用Excel打印, ...

  10. java集合学生信息_java 使用 集合 制作学生管理系统

    以上是文件组织结构 下面是个.java的具体代码: 1 packagecom.collection.students.pojo;2 3 public classStudent {4 privateSt ...

最新文章

  1. openwrt 系统日志配置_Openwrt 之 Samba配置
  2. 7999元大疆最新无人机,支持第一人称视角极速拍摄,网友:不是航拍,是直接起飞...
  3. 【转】VC++ MFC文件的移动复制删除更名遍历操作
  4. 云炬60s看世界20211127
  5. 【机器学习基础】数学推导+纯Python实现机器学习算法3:k近邻
  6. 【数据库】MySQL创建视图(CREATE VIEW)
  7. mysql导入多个txt_MySQL批量导入Excel、txt数据
  8. 易语言动画框和动画物体通过代码载入外部图片数据不显示!
  9. 我的世界服务器物品id错误,我的世界错误代码,怎么弄
  10. linux下tmp目录属性,Linux:文件夹属性及umask
  11. python元组元素抓7_Python3基础 tuple 通过拆分元组向元组中加入新的元素
  12. typecho和wordpress模板了解、开发流程介绍、前台后台前端后端区分
  13. 有关文档碎片(document fragment)的用法
  14. 学 shell (1/5)
  15. 计算机多媒体故障,多媒体教室设备常见故障及处理方法
  16. 开学季,中学生用什么样护眼台灯好?中学生用护眼台灯排行
  17. padding的用途
  18. 20190729 现代田园女权
  19. GCM 的升级版——FCM(firebase cloud messaging)
  20. Python3根据URL下载图片

热门文章

  1. js数据的编码和解码
  2. IDAPython安装
  3. 2019运输科技领域最新SCI期刊影响因子正式发布,附三年IF变化趋势!
  4. 开源超级终端工具——WindTerm
  5. zzuli:1047对数表
  6. SCSI设备IO栈与块设备并发机制
  7. Highcharter绘制中国地图
  8. Phase2 Day3 List
  9. 绿坝现漏洞政府天价难护航
  10. 高端程序员上班摸鱼指南