1. 概述
1.1 问题描述
根据参数动态显示地图区域 这篇文档只适用于普通报表,不适用于决策报表场景,决策报表中使用参数来动态显示地图区域的效果如下图所示:
1.2 实现思路
通过报表块设置动态参数类型的超链接实现点击报表块中的省份可以让地图展示对应的区域数据。
2. 示例
2.1 数据准备
1)新建决策报表,新建数据集 ds1,数据库查询语句为:select distinct pid from 地图 limit 10。
2)新建数据集 ds2,数据库查询语句为:select * from 地图 where pid='${area}'。
2.2 报表设计
1)将报表块和地图分别拖拽到决策报表设计主体中,地图左边缘与报表块的 A1 单元格相邻接。
2)编辑报表块,将数据集 ds1 的字段 pid 拖入 A1 单元格,给 A1 单元格添加动态参数类型的超级链接,设置参数为area,值为公式$$$。
3)编辑地图,如下图设置地图数据。
4)给报表添加一个模板参数,命名为地图边界,默认值为公式"geographic/world/中国/"+$area。
注:默认值中的路径在8.0、9.0、10.0中是不同的,示例中的为10.0的,其他版本需要去 FineReport 安装路径下查看并进行修改。
5)最后如下图修改地图的地图边界,如下图所示:
2.3 效果预览
保存报表,点击PC端预览,效果如问题描述中所示。
注:除了可以展示示例中省份下面的地市数据,还可以配置为展示市下面的区数据,甚至可以自定义地图后,将模板参数传到自定义地图实现丰富的联动图表。
3. 模板下载
已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\frm\决策报表使用参数动态展示区域地图.frm
点击下载模板:决策报表使用参数动态展示区域地图.frm