在一个电子表格中,存在多个元素,比如下面的报表中,左侧的表格是产品类别的汇总数据,右侧的柱图是具体的产品类别明细数据。在同一个电子表格中,可以设置点击左侧的表格,使右侧的图形数据随之变化。
1.版本:Smartbi V7 及以上
2.客户端:PC
3.浏览器:IE8-IE11、Chrome、Firefox、360急速浏览器
1.创建数据集
创建两个数据集,第一个是产品类别汇总数据。如下:
第二个数据集,是产品明细数据,并且该数据集中有“产品类别”参数,切换参数,可以切换具体的类别明细数据,如下:
2.创建电子表格
使用数据集1和数据集2创建电子表格报表,其中左侧表格使用的是第一个数据集的字段,右侧柱图使用的是第二个数据集的字段
基于 全国省份列表 数据集 创建报表,设计如下:
2、创建图形
在sheet2中,基于 地市月度分布2 数据集 创建图形使用的数据,并在B1单元格引用参数"省份名称",用于图形标题。
在sheet1中使用sheet2中的数据创建折线图,图形标题引用sheet2的B1单元格,隐藏sheet2,效果如下:
3、新建跳转规则向导
在宏管理界面打开电子表格"图形与单元格超链接联动",在宏编辑界面选择新建跳转规则向导:
4、设置链接条件
选择单元格位置。输入跳转规则名称,选择标签页是"Sheet1",选择当前模板文件单元格位置为"B4"。
5、选择目标报表
点击目标报表后面的按钮,则会弹出"选择目标报表"对话框。在目录树下选择"图形与单元格超链接联动"后点击 确定 按钮。不勾选"在新窗口打开"。
6、设置参数传递
下面会列出目标报表对应的参数,此报表有三个参数:年份、月份、省份名称。 参数传递设置如下:
"省份名称":点击参数来源,则会弹出下拉列表框,选择参数来源为单元格数据,参数值输入为B4。
"年份"、"月份"不进行设置。
7、修改宏代码实现布局刷新
打开保存后生成的客户端宏代码,把下面代码
var command = spreadsheetReport.command; command.close(); command.execute('OPENWITHNOREFRESH', 'I4028813520388ffe0147a0acdc430662'); |
替换为
var report = spreadsheetReport; if (paramsInfo.length > 0) report.setParamsInfo(paramsInfo); report.doAjaxRefresh(); |
如下图:
7、查看效果
在浏览器中打开源报表,点击链接条件查看下钻效果。
注:报表联动刷新前后,电子表格中行数和列数不能发生变化。由于使用局部刷新,电子表格不会重新计算单元格位置。所以如果数据行列发生了变化,可能导致错误。