找文章 / 找答案
  • 发帖数31
  • 粉丝1

此人很懒,什么也没有留下

  • 解答问题超厉害

    经常帮助其他会员答疑

[可视化] 获取表格没值状态

yhdata_lian铂金一 显示全部楼层 发表于 2023-11-10 10:56:32

你好,图片我已经放到正文里了。第一张图的第一张表是绑定的过滤条件是序号为1,第一张图的第二张表是绑定过滤条件序号为2,因为没有为2的,所以第二张表应该不显示才对,但目前报告级脚本写了如第二张图所示脚本,出现的结果是图3
回复

使用道具 举报

美滋滋皇冠三 显示全部楼层 发表于 2023-11-10 10:59:07
其实我是不建议这种不显示表格的,因为表格即使不显示,但是表格所占的位置已经是固定了。如果不显示的话,报告中空了一大片位置,也是很难看的。除非你用脚本把所有组件的显示位置重置一遍,那样的话就比较麻烦了。
回复

使用道具 举报

yhdata_lian铂金一 显示全部楼层 发表于 2023-11-10 10:59:49
美滋滋 发表于 2023-11-10 10:52
自由是表格编辑模式下,至少是两行吧?一行是抬头,一行是来绑定数据的。所以即使绑定数据那行没有数据,那 ...

你好,我改成了如下代码,放在报告级脚本中,但是显示的和我正文图片第三张效果一样,图表24为第一张表应该显示,图表25为第二张表,应该不显示
代码如下:
try {
var a = getData("图表24",DATA);
    if (a.get(1,0) == null || a.get(1,0) == "") {
        图表24.visible = false
    }else{
        图表24.visible = true
    }
} catch(e) {
        图表24.visible = false
}

try {
var b = getData("图表24",DATA);
    if (b.get(1,0) == null || b.get(1,0) == "") {
        图表25.visible = false
    }else{
        图表25.visible = true
    }
} catch(e) {
        图表25.visible = false
}
回复

使用道具 举报

美滋滋皇冠三 显示全部楼层 发表于 2023-11-10 11:02:15
try {
var b = getData("图表24",DATA);
debug(b.get(1,0))
    if (b.get(1,0) == null || b.get(1,0) == "") {
        图表25.visible = false
    }else{
        图表25.visible = true
    }
} catch(e) {
        图表25.visible = false
}

加一行DEBUG信息,看看得到的值是什么
回复

使用道具 举报

yhdata_lian铂金一 显示全部楼层 发表于 2023-11-10 11:02:48
美滋滋 发表于 2023-11-10 10:59
其实我是不建议这种不显示表格的,因为表格即使不显示,但是表格所占的位置已经是固定了。如果不显示的话, ...

是这样子的,我在数据集里写了rank,每个筛选器下最后最多会存在三个产品编码,那么对这三个产品编码分别做一张表,设置是否显示就可以了,因为产品肯定按产品序号123依次下来
回复

使用道具 举报

美滋滋皇冠三 显示全部楼层 发表于 2023-11-10 11:03:04
yhdata_lian 发表于 2023-11-10 10:59
你好,我改成了如下代码,放在报告级脚本中,但是显示的和我正文图片第三张效果一样,图表24为第一张表应 ...

找到错误了,你应该写成  var b = getData("图表25",DATA);
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2023-11-10 11:04:41
yhdata_lian 发表于 2023-11-10 10:56
你好,图片我已经放到正文里了。第一张图的第一张表是绑定的过滤条件是序号为1,第一张图的第二张表是绑 ...

加上空白的两行,图片看起来一共有4行了,判断要小于等于4了,或者按照楼上的方法试试
回复

使用道具 举报

美滋滋皇冠三 显示全部楼层 发表于 2023-11-10 11:06:20
yhdata_lyaa 发表于 2023-11-10 11:04
加上空白的两行,图片看起来一共有4行了,判断要小于等于4了,或者按照楼上的方法试试
...

我上面说过了,判断SIZE是不严谨的。因为如果等于2的时候,你不知道是没有数据还是说只有一行数据
回复

使用道具 举报

yhdata_lian铂金一 显示全部楼层 发表于 2023-11-10 11:07:17
美滋滋 发表于 2023-11-10 11:03
找到错误了,你应该写成  var b = getData("图表25",DATA);

是的是的,发现了,实现我要的效果了,还想请教一下,
catch(e) 这个是什么意思呢,以及 if (b.get(1,0) == null || b.get(1,0) == "")这一段是判断自由表除表头外的行数是吗
回复

使用道具 举报

yhdata_lyaa 显示全部楼层 发表于 2023-11-10 11:19:37
美滋滋 发表于 2023-11-10 11:06
我上面说过了,判断SIZE是不严谨的。因为如果等于2的时候,你不知道是没有数据还是说只有一行数据 ...

严谨
回复

使用道具 举报

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

  • 官方微信

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

    扫码关注
  • 新浪微博

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

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

会员等你来哦

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