如何用finereport构建map多级
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用finereport构建map多级相关的知识,希望对你有一定的参考价值。
参考技术A这个应该是地图的钻取功能吧,如下图,首先访问显示全中国各省份数据。点击山东省,进入山东省省地图,显示山东省数据,并在右侧的柱形图上显示展现该数据,实现联动效果。
1、准备数据
新家2个数据查询ds1和ds2
ds1:SQL为SELECT * FROM 地图。
ds2:SQL为SELECT * FROM 地图 where pid='$province',province参数默认值为”江苏省“
2、地图制作
1)添加地图
合并一片单元格,点击菜单栏中的插入>单元格元素>插入图表,选择地图,然后点击确定,如下图:
2)地图类型
选中地图,在设计器右侧的图表属性面板图表属性表-类型选择地图类型,默认选择为国家地图>中国。
3)区域对应
在finereport的内置数据库中存有区域对应字段,即表示地图的区域名跟数据库中存有的区域名的对应关系,比如说:中国地图,在地图类型处选中中国,点击设置按钮,选择区域对应字段,默认的区域对应字段为各省市的全称,如下图:
4)地图数据
定义好地图的类型之后,就可以为地图定义数据来源了,选中地图,点击图表属性表-数据,进入数据设置面板,地图展现方式选择多层钻取,如下图:
5)钻取层级设置
从上图可以看到,钻取层级下有个中国的文件夹,点击即可打开查看中国下面的省份,选中中国文件夹,右击,则会跳出层级设置对话框,如下图:
6)钻取数据设置
点击底层数据,为每个层次的地图添加数据,如下图:
7)地图样式设计
选中地图,点击图表属性-样式>系列可修改值区间以及配色方案,如下图:
8)数据区间配置
3、柱形图
添加柱形图,并进行样式设置
4、联动设置
选中地图,在图表属性表中选择特效,点击交互属性,添加一个超级链接
5、保存预览。
FineReport如何用JDBC连接阿里云ADS数据库
在使用FineReport连接阿里云的ADS(AnalyticDB)数据库,很多时候在测试连接时就失败了。此时,该如何连接ADS数据库呢?
我们只需要手动将连接ads数据库需要使用到的jar放置到%FR_HOME%\WebReport\WEB-INF\lib下面,然后重启设计器,新建JDBC数据连接,其数据库下拉选项中选择My SQL,接着手动输入其驱动URL以及用户名密码即可。具体步骤如下:
1、jar准备
连ads数据库要使用mysql的jdbc驱动包,下载下来之后,将其放到相应的lib下面。
对于ads来说,连接的jdbc驱动很关键,一定要与本身库版本相匹配才可以。可以使用select version()来查看数据库版本。这边连接的是5.1.31-mysql-ads版本的ads库,确认后使用的为图中5.1.31的jdbc驱动。
2、新建数据连接
重启设计器,点击服务器>定义数据连接,新建一个JDBC数据连接,数据库选择mysql,驱动选择com.mysql.jdbc.Driver,URL手动输入,对应用户名密码填写完成Access Key,然后点击连接池属性,获取连接前校验选择否。
点击测试连接,连接成功即可使用该数据库中的数据了。此时,新建数据集,可看到数据连接正常加载库表信息,可正常执行SQL。
在这个连接方式中需要注意的地方也就两点内容:
- “获取连接前校验”选择否;
- JDBC驱动包必须与ads数据库的版本匹配。
最后,需要驱动包的附件可以私信问我要。
以上是关于如何用finereport构建map多级的主要内容,如果未能解决你的问题,请参考以下文章
FineReport中如何用JavaScript自定义地图标签