如何用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自定义地图标签

FineReport如何用JDBC连接阿里云ADS数据库

FineReport如何用JDBC连接阿里云ADS数据库

FineReport实现java报表多级上报的效果图

请问Java中Map集合如何使用?key值和value值如何用?请说的详细一点

你知道如何用多级缓存提升秒杀系统的服务性能吗