示例说明
在一个电子表格中,存在多个元素,比如下面的报表中,左侧的表格是产品类别的汇总数据,右侧的柱图是具体的产品类别明细数据。在同一个电子表格中,可以设置点击左侧的表格,使右侧的图形数据随之变化。
版本及客户端要求
1.版本:Smartbi V7 及以上
2.客户端:PC
3.浏览器:IE8-IE11、Chrome、Firefox、360急速浏览器
注:如果使用V7.0.1及以上版本,可参考以下示例实现:
设置步骤
1.创建数据集
创建两个数据集,第一个是产品类别汇总数据。如下:
第二个数据集,是产品明细数据,并且该数据集中有“产品类别”参数,切换参数,可以切换具体的类别明细数据,如下:
2.创建电子表格
使用数据集1和数据集2创建电子表格报表,其中左侧表格使用的是第一个数据集的字段,右侧柱图使用的是第二个数据集的字段
电子表格展示如下:
3.设置跳转规则
在此电子表格上右键-》编辑宏,进入报表宏编辑界面
在宏编辑界面选择新建跳转规则向导
4.设置链接条件
输入跳转规则名称,“源资源链接字段”选择“Sheet1”,在“模板单元格或者名称”中输入“B6”
由于我们需要点击产品类别数据进行跳转,而产品类别字段在sheet1的B6单元格中,因此在模板单元格或者名称中输入“B6”
5.选择目标报表
点击下一步,目标资源选择此电子表格自身,并且不勾选“在新窗口打开”
6.设置参数传递
“产品类别参数”的参数来源选择“单元格数据”,参数值输入“B6”,由于需要将所点击的位置的产品类别数据传递,所以需要将“B6”单元格的数据传递到参数“产品类别”中
7.修改宏代码实现布局刷新
(1)打开保存后生成的客户端宏代码,在以下位置增加红框中的代码
增加的代码如下:
if (spreadsheetReport.refreshing) { return; }
(2)将下面红框中的代码修改为绿框中的代码
具体的代码如下:
var report = spreadsheetReport; if (paramsInfo.length > 0) report.setParamsInfo(paramsInfo); report.doAjaxRefresh();
最终的代码如下:
8.查看效果
在浏览器中打开源报表,点击链接条件查看下钻效果。
注:报表联动刷新前后,电子表格中行数和列数不能发生变化。由于使用局部刷新,电子表格不会重新计算单元格位置。所以如果数据行列发生了变化,可能导致错误