永洪社区

标题: 求帮!咋将空单元格赋值为0,然后在自由表引用0用于计算。 [打印本页]

作者: yhdata_a8zPcz9H    时间: 2024-3-11 08:52
标题: 求帮!咋将空单元格赋值为0,然后在自由表引用0用于计算。
要求是在自由表1中求出大于80分的人数,
然后在自由表2中引用自由表1的人数来算占比;
但在此数据集中是没有大于80分的人数的,自由表1会返回空值,这时自由表2引用自由表1时会报错,空指针引用异常。
怎么设置成当自由表1结果为空时,单元格设置为0,然后这个0供自由表2引用。
试了用高亮设置为0,仍然会报错。还有其他方法吗


作者: 行走的蜗牛    时间: 2024-3-11 09:01
sql数据集的话可以直接计算占比输出
作者: 杨文丽    时间: 2024-3-11 09:02

作者: limited_Moore    时间: 2024-3-11 09:45
自由表1获取值的时候用格间计算,在旁边一个格子里获取值,写一个if,如果值是空则赋值0,否则就是正常传值。然后自由表2取这个判断过后的格子里面的数据计算。
作者: yhdata_a8zPcz9H    时间: 2024-3-11 14:57
limited_Moore 发表于 2024-3-11 09:45
自由表1获取值的时候用格间计算,在旁边一个格子里获取值,写一个if,如果值是空则赋值0,否则就是正常传值 ...

谢谢回复,没有办法直接判断自由表1的单元格是否为空,然后赋值吗,不新建一个格子
作者: yhdata_lyaa    时间: 2024-3-11 15:33
现在的脚本是怎么写的
作者: 我是卡拉米    时间: 2024-3-11 15:41
yhdata_a8zPcz9H 发表于 2024-3-11 14:57
谢谢回复,没有办法直接判断自由表1的单元格是否为空,然后赋值吗,不新建一个格子 ...

取数格子不展示隐藏就可以
作者: yhdata_a8zPcz9H    时间: 2024-3-11 16:41
yhdata_lyaa 发表于 2024-3-11 15:33
现在的脚本是怎么写的

var data1=getViewData("自由式表格1",DATA);
if(data1!=null&&data1.exists(1,-1,true)){
var data2=getViewData("自由式表格2",DATA);
var d=data1.get(3,8);---这里就是想取的自由表1中0值所在的单元格
data2.set(0,0,d);--
} else {
debug("请先点击结果值再查看分母和分子");
}

作者: yhdata_a8zPcz9H    时间: 2024-3-11 16:42
yhdata_lyaa 发表于 2024-3-11 15:33
现在的脚本是怎么写的

var data1=getViewData("自由式表格1",DATA);
if(data1!=null&&data1.exists(1,-1,true)){
var data2=getViewData("自由式表格2",DATA);
var d=data1.get(3,8);---这里就是想取的自由表1中0值所在的单元格
data2.set(0,0,d);--
} else {
debug("请先点击结果值再查看分母和分子");
}
作者: yhdata_yzm    时间: 2024-3-11 17:02
简单的做法新建计算列
if col['列']>80
then 1
else 0
end
绑定计算列即可
作者: yhdata_a8zPcz9H    时间: 2024-3-11 18:42
limited_Moore 发表于 2024-3-11 09:45
自由表1获取值的时候用格间计算,在旁边一个格子里获取值,写一个if,如果值是空则赋值0,否则就是正常传值 ...

终于解决了,取值的时候直接加个0就可以啦。data.get()+0 单元格如果为空就加个0
作者: yhdata_a8zPcz9H    时间: 2024-3-11 19:28
yhdata_yzm 发表于 2024-3-11 17:02
简单的做法新建计算列
if col['列']>80
then 1

谢谢回复。终于解决了,取值的时候直接加个0就可以啦。data.get()+0 单元格如果为空就加个0
作者: yh_ZhfE2QnH    时间: 2024-3-11 22:52
可以




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4