统计图钻取常见问题

设置统计图图例上的超链接。在超链接属性中可能会用到@legend、@category和{APPMAP}。

@legend:指代当前图例的显示值。在超链接中引用@legend,报表引擎运算时会将其替换成当前图例的显示值。

@category:指代当前图例的分类值。在超链接中引用@category,报表引擎运算时会将其替换成当前图例的分类值。

{APPMAP}:指代web应用的相对路径,在超链接中引用{APPMAP},报表引擎运算时会将其替换成web应用的相对路径。

在图形超链接中若超链接为不以=开始的字符串时,报表引擎运算时会把@category、@legend等当成宏,进行宏替换;若超链接为以=开始的字符串时,报表引擎运算时会把@category、@legend等当成参数,进行表达式运算。

 

举例一:图形超链接为不以=开始的字符串。

 

设置统计图图例上的超链接为:{APPMAP}/reportJsp/showReport.jsp?raq=/订单.raq

&arg1=@category

如果web应用的相对路径为http://localhost:8001/report,当前图例的分类值为“华北”,运算时报表引擎会自动把{APPMAP}替换成http://localhost:8001/report,把@category替换成“华北”,从而产生的超链接为:

http://localhost:8001/report/ reportJsp/showReport.jsp?raq=/订单.raq&arg1=华北

 

在图例超链接中进行表达式运算有两个用途:1、@legend指代当前图例的显示值,如果我们想在超链接中使用当前图例的真实值,那么就要把@legend放到表达式中进行运算,由显示值得出真实值。2、有时地址栏中不支持中文,有中文就会产生乱码,而@legend或@category代表的值是中文时,我们就要对@legend或@category进行编码。

 

举例二:图形超链接为以=开始的表达式。

 

设置统计图图例上的超链接为:="{APPMAP}/reportJsp/showReport.jsp?raq=/订单.raq&arg1="+query("select 供应商ID from 供应商 where 供应商名称=?",@category)

@category代表供应商名称,我们在超链接中需要使用供应商ID,所以图例上的超链接中把@category作为query 函数的参数来获得供应商ID。

 

举例三:图形超链接传递多个参数

 

设置统计图图例上的超链接为:{APPMAP}/reportJsp/showReport.jsp?raq=/订单.raq

&arg1=@category&arg2=@legend&arg3={APPMAP}

  如果超级链接中要传递多个参数时,各个参数中间用&符号分隔。

 

举例四:图形超链接传递中文参数

 

  如果统计图所在的web页面与所链接的web页面的编码方式不同,那么超链接所传递的中文参数就不能在链接的页面上正常显示,所以一般要对超链接传递的中文参数进行转码运算。

  设置统计图图例上的超链接为:="{APPMAP}/reportJsp/test.jsp?arg1="+ urlencode(category, "GBK" )+"&bb="+ urlencode("传递的参数", "GBK" )+"&le=@legend"

统计图所在的页面的编码格式为GBK,而链接的test.jsp的编码方式为utf-8,这时我们就要对所传递的参数使用urlencode函数进行转码运算,这样才能保证传递的参数在test.jsp页面上的正常显示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值