1. 概述编辑
1.1 应用场景
在例会时,存在这种情况,几个部门的数据先集中在一起做总览汇报,但点击各部门的数据部分又能跳到对应部门的详细报告。此时就可以用到根据图表分类不同钻取到不同的报表的功能,效果如下:
1.2 思路
通过图表的超级链接-JavaScript,获取图表参数系列名称,通过JS,判断系列名称,打开不同的报表。
2. 示例编辑
2.1 数据集
新建普通报表,添加内置数据集,如下图所示:
2.2 模板设置
合并单元格,选择插入图表—饼图—等弧度玫瑰图,数据属性配置如下:
2.3 添加超级链接
在特效—交互属性中,添加超级链接-JavaScript,如下图所示:
在 JavaScript 窗口右上角的参数界面添加一个参数 series,参数值选择系列名称,添加第二个参数为A,参数值设置为A22单元格的值,并添加代码:
注:若是要根据饼图的分类名判断,则将参数值设置为分类名即可。
代码如下:
if(series=='财务部') /*判断系列名称为财务部*/{
var URL='/webroot/decision/view/report?viewlet=doc/Advanced/Chart/利润分析.cpt&A22='+A;
window.open(FR.cjkEncode(URL));
//在新标签页打开报表
}
if(series=='销售部'){
var URL='/webroot/decision/view/report?viewlet=doc/Advanced/Chart/销售情况.cpt';
window.open(FR.cjkEncode(URL));
}
代码说明:
window.open(); //在新标签页打开报表
FR.cjkEncode(URL) //对 URL 中的中文进行编码转换,详细可参考 Web 传递中文参数。
如需要在对话框中打开链接,可将 JS 代码修改为下面的:
var url = '';
if (series == '财务部') /*判断系列名称为财务部*/ {
url = '/webroot/decision/view/report?viewlet=doc/Advanced/Chart/利润分析.cpt&A22='+A';
}
if (series == '销售部') {
url = '/webroot/decision/view/report?viewlet=doc/Advanced/Chart/销售情况.cpt';
}
FR.doHyperlinkByGet({url:url,feature:'width=700,height=450,',title:'主页',target:'_dialog'}); //在对话框打开报表
代码说明:
FR.doHyperlinkByGet({url:url,feature:'width=700,height=450,',title:'主页',target:'_dialog'}); //FR.doHyperlinkByGet() 为超链接接口,target:'_dialog'为对话框形式打开超链接
2.4 其他设置
a)各部门反馈情况cpt,选中A22,单元格元素->插入元素->普通文本->"我是参数" 如下图所示:
b)利润分析cpt,设置A19单元格,单元格元素->插入元素->插入公式->=$A22,用来接受来自各部门反馈情况.cpt的A22参数 如下图所示:
2.5 效果预览
保存主报表,点击分页预览,效果如应用场景所示。