地图钻取,
1. 问题描述
地图的钻取功能,如下图首次访问显示全中国各省份数据:
点击“江苏省”所在区域,钻取到江苏省下的明细,并可以点击“返回上一层”再返回到全国数据:
2. 实现步骤
2.1 修改报表
打开之前的地图模板%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Chart\Map.cpt。
原模板只统计了所有省份的数据,将其修改为如下,分地区与下属地区两部分:
E3单元格输入公式:=if(len($area) = 0, ds1.group(货主国家, true, true), ds1.group(货主省份, 货主省份 = $area,true)),首次查看时$area为空,该单元格显示货主国家字段,点击省份钻取后,$area为选择的省份名称,该单元格显示货主省份字段,并使用当前省$area过滤。group函数用法可参考数据集函数。 E6单元格输入公式:=if(len($area) = 0, ds1.group(货主省份, true, true), ds1.group(货主城市, 货主省份 = $area,true)),首次查看时$area为空,该单元格显示货主省份字段,点击省份钻取后,$area为选择的省份名称,该单元格显示货主城市字段,并使用当前省$area过滤。
注:这边参数$area可以不定义,初始为空,若向模板传递该参数值时,可以自动获取到传递过来的值。
另存为模板,如%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Chart\Map_1.cpt。
2.2 修改图表数据
使用下属地区的数据作为图表数据源,修改如下:
2.3 图表超级链接设置
选中图表,点击交互属性添加一个超级链接,链接到本身,并传递一个参数area,值为当前系列的值(即选中的省份),如下:
2.4 添加返回上一层的链接
右击“返回上一层”单元格,设置超级链接JavaScript,点击该链接时,重新加载当前模板,此时$area没有值,又会显示全国数据:
另我们可以设置当展示全国数据的时候不需要显示“返回上一层”链接,可以给该单元格添加一个条件属性,当满足公式len($area) = 0的时候,新值为空。
2.5 保存与预览
保存模板,分页预览即可查看效果。
已完成模板可查看%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Chart\Map_1.cpt。
返回顶部