图形联动钻取

数据集准备 #

  • 在需要进行联动的数据集中SQL写法请参考"参数编写方法"章节
select ... from tablename 
/* where xxxx = '$参数名' */ 

常规方法 #

  • 比如需要点击0号图形, 指定其它图形联动

  • 只需要打开0号图形的数据集编辑页面, 点击标题的位置 输入图片说明

  • 然后输入相关的参数即可, 以下为sample 输入图片说明

  • 参数值设定的方法, 你可以先留空, 然后保存, F12打开浏览器调试方法

  • 点击0号图形你需要点击的动作, 可以在调试窗口的console看到输入的log

  • 比如我们需要传递的参数值是"廉颇", 那么取数据的方法就是data.name, 你把这个填入即可 输入图片说明

  • 这样就实现按所选数据或所选系列钻取/联动了, 重新点击当前所选, 恢复原来的

在图形编辑器中, 可以使用函数 ds_param(‘参数名’) 来获取传入的参数值

高级定制方法 #

  • 如有更多个性化需求,可在需要点击的图形中加入以下动作响应用代码
  • 仅需修改的是序号参数名
  • 比如当图形被点击时, 传入多个参数进行联动
myChart__name__.on('click', function(params){
     let myparam = params.seriesName;  //获取点击的值
     ds_setParam('参数名', myparam); //填写你的数据集的SQL设定中对应的参数名
     ds_setParam('参数名2', myparam2); //你可以赋值给多个参数
     ds_refresh(3);   //3 为你要刷新图形序号
});
  • 函数方法说明
ds_setParam('参数名', 参数值)
//此方法将自动判断当参数值为空,null或0时, 删除参数回到初始未传参状态
//所以请注意此方法无法传递参数空,null及0, 如需传递请将0转化成字符
//如果你的参数中存在非法字符如&=, 你可以使用js的encodeURIComponent函数进行转义后赋值
  • 你还可以实现钻取到另外一个报表
myChart__name__.on('click', function (params) {
 let myparam = `&param={"参数名": "${params.seriesName}"}`;
 //拼成url并传参,具体参考数据集说明中的数据联动url传参的方法
 let myurl='/echart/?type=目标报表名'+ myparam;
 window.open(myurl,'_blank','toolbar=no,scrollbar=no,top=100,left=100,width=800,height=500');
});