下图在柱状图中加入了图形/图例超链接,实现了在点击柱状图中的柱子图形时,会在本页面动态展现出所点击柱子代表的地区销售表和地区订单金额图;点击右侧的图例时,会在本页面动态展现出所点击图例代表的地区销售表和地区订单金额图:
接下来通过对一张已有的报表使用超链接参数回传实现钻取,为大家介绍统计图超链接的添加。报表内容如下所示:
已有的报表包含两个数据集:
ds1:SELECT max(雇员.姓氏+雇员.名字) 姓名, count(订单.订单ID) 订单个数, sum(订单.订单金额) 订单总额 FROM 订单,雇员 WHERE 订单.雇员ID = 雇员.雇员ID group by 雇员.雇员ID ORDER BY sum(订单.订单金额)
ds2:SELECT 订单.货主地区,sum(订单.订单金额) 订单金额, count(订单.订单ID) 订单数量 FROM 订单,雇员WHERE 订单.货主地区 in ('华东','华北','华南','西南','东北') and 订单.雇员ID=雇员.雇员ID and (雇员.姓氏+雇员.名字)=? group by 订单.货主地区
报表中ds2数据集缺省查询姓名为孙林的销售信息,那如何在页面点击不同柱子,动态展现出对应雇员的地区销售表和地区订单金额图,就是接下来我们要介绍的重点。
第一步:对柱形图添加超链接
双击A6单元格,设置显示外观。
在“图例超链接“中输入链接
="{APPMAP}/reportJsp/showReport.jsp?rpx="+urlencode ("统计图钻取.rpx","UTF-8")+"&"+urlencode ("姓名","UTF-8")+"="+urlencode("@legend","UTF-8")
在“图形超链接“中输入链接
="{APPMAP}/reportJsp/showReport.jsp?rpx="+urlencode("统计图钻取.rpx","UTF-8")+"&"+urlencode("姓名","UTF-8")+"="+urlencode("@category","UTF-8")
点击柱形图上的柱子时,通过使用超链接再次访问当前报表,同时将@legend/@category获取的当前所点击的柱子所在的系列值/分类值作为姓名参数值回传给报表。这样在展现报表时,地区销售表和地区订单金额图则会根据超链接所传递进来的不同姓名而变化。
超链接目标窗口
超链接跳转方式:
1、属性值为_self时,在当前页面跳转。
2、属性值为_blank时,在新页面打开。
该属性如果不写,缺省为_self。
注意:
(1) {APPMAP}指代 web 应用的相对路径,在超链接中引用{APPMAP},报表引擎运算时会将其替换成web应用的相对路径。
(2) reportJsp/showReport.jsp?rpx=相对路径\xx.rpx 表示要链接到xx页面。此页面的路径应该相对【报表安装目录】\raqsoft\report5\web\webapps\demo\WEB-INF\reportFiles 的相对路径。
(3) Urlencode函数进行转码。
(4) @category指代当前图例的分类值。在超链接中引用@category,报表引擎运算时会将其替换成当前图例的分类值。
@legend:指代当前图例的显示值。在超链接中引用@legend, 报表引擎运算时会将其替换成当前图例的显示值。
第二步:发布预览报表
此报表保存为“统计图钻取.rpx”,通过菜单“本地应用”->“WEB预览”发布报表。
柱状图中图形超链接效果如下图所示,在点击柱状图中的柱子图形时,就会在本页面动态展现出所点击柱子代表的地区销售表和地区订单金额图。
柱状图中图例超链接效果如下图所示,在点击右侧的图例时,就会在本页面动态展现出所点击图例代表的地区销售表和地区订单金额图