找文章 / 找答案
精选问答 更多内容

[可视化] 不可见组件数据引用问题

yhdata_SeZ1vTa1白银三 显示全部楼层 发表于 2022-4-9 11:55:40 |阅读模式 打印 上一主题 下一主题
1
已解决

使用脚本引用“图表3”自由表的内容,然后将图表3设置为不可见后浏览有报错:TypeError: Cannot call method "get" of null ([script]#12) at line 12


var data4=getViewData("图表3");
param['t']=data4.get(8,3);



报告(预览: 月报->装载时运行-->组件(图表3)-->数据集(ITR_月报)-->TypeError: Cannot call method "get" of null ([script]#12) at line 12

最佳答案

尸王之王_售前 铂金二 关注Ta

2022-04-09 11:55:41

您可以把自由表的文字和背景颜色调到与您报告底色一致,或是把要引用的表放到最底层,上面用其它组件覆盖。这样可以既取到值又看不见。
查看完整内容
回复

使用道具 举报

精彩评论13

尸王之王_售前铂金二 显示全部楼层 发表于 2022-4-9 11:55:41
yhdata_SeZ1vTa1 发表于 2022-4-10 15:29
那这种情况没办法解决了吗?

您可以把自由表的文字和背景颜色调到与您报告底色一致,或是把要引用的表放到最底层,上面用其它组件覆盖。这样可以既取到值又看不见。
回复

使用道具 举报

永洪tech-程前玄铁三 显示全部楼层 发表于 2022-4-9 12:14:47
优化脚本做判空处理,参考下面的脚本
/*

var loc=new Locator(["1,10"],CELL,DETAIL);
var data=getViewData("自由式表格1");
//取表格第2行第12列的值
if(data!=null&&data.exists(1, -1, true)){
var b=data.get(1,11);
}

*/
回复

使用道具 举报

yhdata_SeZ1vTa1白银三 显示全部楼层 发表于 2022-4-9 13:27:32
永洪tech-程前 发表于 2022-4-9 12:14
优化脚本做判空处理,参考下面的脚本
/*

修改脚本后不报错了,但是浏览时引用e的数据也不显示了,脚本如下:

var loc=new Locator(["8,6"],CELL,DETAIL);
var data=getViewData("图表3");
if(data!=null&&data.exists(1, -1, true)){
e1=data.get(8,7);
var e2 = e1  > 0 ? "增加" : "减少";
param['e'] =e2 + abs(e1);
}
回复

使用道具 举报

永洪tech-mcs铂金二 显示全部楼层 发表于 2022-4-9 13:44:40
您好,abs引用有问题,需要先转换类型,参考脚本如下:
var f1 = getViewData("图表3");
var f2 = f1.get(0, 0);
debug(f2)
//f3表示数字类型的最终值
var f3 = parseFloat(f2);
debug(f3)
//f4表示数字类型的绝对值
var f4 = abs(f3)
debug(f4)
//f5表示数字类型的绝对值的百分数
var f5 = formatNumber(f4,"#.##%")
debug(f5)
//f6表示判定正负条件下的显示内容
var f6 =  f2 > 0 ? "上升"+f5 : "下降"+"-"+f5;
debug(f6)
回复

使用道具 举报

yhdata_SeZ1vTa1白银三 显示全部楼层 发表于 2022-4-9 14:43:02
永洪tech-mcs 发表于 2022-4-9 13:44
您好,abs引用有问题,需要先转换类型,参考脚本如下:
var f1 = getViewData("图表3");
var f2 = f1.get(0 ...


加上判空是下面的脚本吗? 还是显示不出来:
var loc=new Locator(["8,2"],CELL,DETAIL);
var data4=getViewData("图表3");
if(data!=null&&data4.exists(1, -1, true)){
f2=data.get(8,8);
var f1 = getViewData("图表3");
var f2 = f1.get(8, 8);
debug(f2)
//f3表示数字类型的最终值
var f3 = parseFloat(f2);
debug(f3)
//f4表示数字类型的绝对值
var f4 = abs(f3)
debug(f4)
//f5表示数字类型的绝对值的百分数
var f5 = formatNumber(f4,"#.##%")
debug(f5)
//f6表示判定正负条件下的显示内容
var f6 =  f2 > 0 ? "上升"+f5 : "下降"+f5;
param['f'] =f6;
}
回复

使用道具 举报

永洪tech-mcs铂金二 显示全部楼层 发表于 2022-4-9 14:54:49
debug可以判空
回复

使用道具 举报

wwwww玄铁三 显示全部楼层 发表于 2022-4-9 15:42:12
回复

使用道具 举报

永洪tech-mcs铂金二 显示全部楼层 发表于 2022-4-9 15:45:07
您如有问题可以提出,谢谢
回复

使用道具 举报

yhdata_SeZ1vTa1白银三 显示全部楼层 发表于 2022-4-9 21:36:22

不是啊,现在的问题是如果 图表3 组件设置为不可见,引用图表3上的数据就显示不出来的。
回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部