报表上一般都是展示统计图,列表交叉表。 看久了难免审美疲劳。如果能让用户通过图片和报表数据进行交互,不但报表更美观,而过操作更直观。先看效果
以前有位前辈发过这方面的视频,视频找不到了,自己摸索着实现了下。
原理:点击图片上热点区域时,传递参数给报表并刷新报表页面
步骤如下:用DreamWeaver工具建立展示图片的html页面,并勾画出热点。由于是用html嵌入的方式,函数调用用“parent.XX”。引用的js文件在后面的附件中,请留意。
并把相应的文件拷贝到cognos服务器的这个目录(cognos部署方式不一样拷贝的路径也不一样,我的是默认的tomcat,只要能访问到就行)
报表页面如下:
柱状图和交叉表都基于查询1,查询1的一个参数为产品类别,该参数对应2,3之间的文本提示框:
html的内容分别如下:
1
<script type="text/JavaScript">
var changeData=function(area){
var form=getFormWarpRequest();
var bl=form._textEditBoxAA;
console.log(form);
bl.value=area;
promptButtonFinish();
}
</script>
<iframe height="330" width="660" frameborder=0 scrolling=no src="../Amyjs/hotmap/test1.html" name="iframe_text"></iframe>
2
<div style="display:none;">
3
</div>
开发完成。
Cognos,BI技术交流群 347488829
Tableau,BI技术交流群 161474757
欢迎加入讨论交流。