报表组件FineReport中如何进行地图钻取与联动

栏目:百科 发表于:2020-6-21 12:52查看: 59124

下面通过报表组件FineReport来介绍一下地图的钻取与联动。

数据准备
新建2个数据查询ds1和ds2,:
ds1:SQL为SELECT * FROM [地图]。
ds2:SQL为SELECT * FROM [地图] where pid='${provience}',provience参数默认值为”江苏省“

地图制作
添加地图
合并一片单元格,点击菜单栏中的插入>单元格元素>插入图表,选择地图,然后点击确定,如下图:

地图类型
选中地图,在设计器右侧的图表属性面板图表属性表-类型选择地图类型,默认选择为国家地图>中国。
注:设计器内置有三种地图,世界地图,国家地图以及省市地图,其中国家地图有两个,中国和美国,省市地图为中国的各省市地图,如需自定义地图,则可导入自己准备好的地图图片进行设计。

区域对应
在FineReport的内置数据库中存有区域对应字段,即表示地图的区域名跟数据库中存有的区域名的对应关系,比如说:中国地图,在地图类型处选中中国,点击设置按钮,选择区域对应字段,默认的区域对应字段为各省市的全称,如下图:
如果数据中的区域名称跟内置的区域名称不一致,即要重新配置区域名称对应,如上图所示,进入定义区域名对话框,可直接在右侧的数据库区域名中手动输入,也可选择数据集之后,直接通过下拉框输入。
注:如果数据库中的区域名称跟设计器中内置的地图区域名称对应不上,在使用过程中就会使用默认的区域对应关系,则无法获取到数据库中区域的对应数据。

地图数据
定义好地图的类型之后,就可以为地图定义数据来源了,选中地图,点击图表属性表-数据,进入数据设置面板,地图展现方式选择多层钻取,如下图:

钻取层级设置
从上图可以看到,钻取层级下有个中国的文件夹,双击即可打开查看中国下面的省份,选中中国文件夹,右击,则会跳出层级设置对话框,如下图:
图中的钻取对应地图表示该区域在钻取完成之后显示的地图,可手动输入,也可下拉框选择,但是该地图必须是定义好的,即必须是内置的地图或者是自定义好的。

注:如果钻取层次不止两级,比如说钻取到福建省之后,还需要钻取到福建省下面的县级市,但是我们内置地图只到省市,没有内置县级市的地图,这是时候就需要自定义地图,即自定义县级市地图,然后选中福建省,右击,进入下层钻取设置,在钻取对应地图中选择自定义的地图。比如,自定义了一张泉州市地图,如下图设置即可钻取至泉州市:

钻取数据设置
点击底层数据,为每个层次的地图添加数据,如下图:
注:区域名字段中既有省份字段,也有省份下面的市级字段,FineReport会自动将字段的区域名与内置的地图上已经设置的区域名进行对照比较,自动进行区域名的分配,名称匹配到第几层,就可以钻取几层(前提是区域对应已经设置好)。

地图样式设计
选中地图,点击图表属性表-样式>系列可修改值区间以及配色方案。如下图:

数据区间配置
数据区间配置如果选择自动, 即设计器会根据数据的最大值最小值自动划分区。
我们这里选择自定义,主题颜色改为深绿色,划分阶段使用默认值5,区间段设置如上图所示,如果需要修改区间段的颜色,点击色块即可修改。

柱形图
合并一片单元格,点击插入>单元格元素>插入图表,选择柱形图,点击确定即可添加一张柱形图。
柱形图数据来源

柱形图样式设计
给柱形图添加标题各地区利润额排名,如下图:

联动设置
如上所述,地图和柱形图都已经设置好了,如果要实现联动,则需要在设置交互属性。
选中地图,在图表属性表中选择特效,点击交互属性,添加一个超级链接,即点击“+”,添加一个图表超链-联动单元格,设置如下图:
注:如果被联动图表为地图,则需要注意传过来的参数必定为地图的区域名,如果地图的区域名被修改过,须得保证该参数与修改过后的区域名保持一致,如果没有修改过,则要与内置的地图区域名对应,否则联动会失效。

保存与预览
保存模板,分页预览即可查看效果。