码迷,mamicode.com
首页 > 其他好文 > 详细

用报表软件自定义地图

时间:2015-07-16 22:35:06      阅读:213      评论:0      收藏:0      [点我收藏+]

标签:报表   数据处理   finereport   java   web   

以FineReport软件为例



在企业的信息数据中,对于那些业务遍布全国的企业来说,无疑可以直接使用我们的内置中国地图来直观展现,但是对于展示没有内置地图的数据的,比如说通过地图展示县级市数据,我们则可用过自定义地图实现。

将自定义的图片上传至FineReport,在FineReport中定义好图片上对应区域或者对应点的名称,此时上传的图片就被转化成了和FineReport内置的图表具有相同属性的文件,再设置好要展示的图表数据,就可以跟FineReport内置的图表一样,可以数据点提示,可以联动,可以传参,自定义好的地图,会自动保存为当前报表工作目录中的一种地图样式,重复使用。



某公司的业务数据都在泉州市,希望通过泉州地图来实现点击某一个县的时候,同时会出现


 数据准备

新建2个数据查询,一个用做地图的数据源,一个用做折线图的数据源。

ds1:SQLSELECT avg(指数) as 平均指数,城市 FROM map_泉州数据 group by 城市

ds2:SQLSELECT * FROM map_泉州数据 where 城市=‘${city}‘,参数默认值为安溪县


 自定义地图

合并一片单元格,点击菜单栏中的插入>单元格元素>插入图表,选择地图,点击确定。

  • 地图类型

由于我们要制作的地图是泉州市地图,但是泉州市地图并不在我们内置地图中,即可使用自定义地图。

选中地图,在右侧上方的属性面板中选择图表属性表-类型,点击技术分享按钮,选中添加自定义地图,如下图:

技术分享

选中新建好的自定义地图,点击技术分享,选择编辑图片区域,如下图:

技术分享

在弹出的对话框中导入准备好的地图图片,如下图:

技术分享

注:用户新上传的地图只支持svg格式的上传,图 片保存在resources\chartmapsvg\user-defined目录下。

双击图片中的每一块区域,将其命名,可以直接选取数据库中的,也可以直接手动书写,命名好之后,点击保存,如下图:

技术分享

所有区域都添加完成之后,点击确定,回到图表属性面板,再次点击技术分享,可编辑自定义地图名称,我们这里将自定义地图命名为泉州市地图。

到此,泉州市地图则定义好了,属性表的地图列表中有了泉州市地图,可以用在任意报表中。

技术分享

注:自定义地图的数据保存在resources\chartmapsvg\user-definedresources\chartmapsvg\user-defined目录下的svg文件中,如果在另外一个报表工程中需要使用该自定义地图,则将该文件复制过去然后重启报表服务就能生效。

  • 地图数据

定义好地图之后,需要给地图定义数据源,选中地图,点击图表属性表-数据,我们这里不需要实现地图的钻取,则地图展现方式直接使用默认的单层地图即可,数据设置如下图:

技术分享

保存之后,地图就做好了,下面制作跟地图联动的折线图。

 折线图

在地图的右侧合并一片单元格,插入折线图,表样式如下:

技术分享

  • 折线图数据来源

为折线图设置数据来源,数据集为ds2,分类轴为月份,系列名使用字段名,字段名为指数,如下图:

技术分享

  • 折线图样式设置

为折线图设置动态标题,即当点击泉州市的某个县时,折线图的标题也随着变化,设置如下:

技术分享

 交互属性设置

地图和折线图都制作好了,由于要实现地图与折线图之间的联动,则需要在图表属性表-特效>交互属性中添加超级链接。

选中地图,在交互属性中添加超级链接图表链接-联动单元格,如下图设置:

技术分享

 保存与预览

保存模板,点击分页预览,即可看到上面所示的效果,模板效果在线查看请点击

已完成模板可参见:%FR%\WebReport\WEB-INF\reportlets\doc\Advanced\Chart\Map_relate.cpt


用报表软件自定义地图

标签:报表   数据处理   finereport   java   web   

原文地址:http://10023971.blog.51cto.com/10013971/1675373

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!