永洪社区

标题: 柱状图 [打印本页]

作者: lucky_h    时间: 2022-5-10 16:22
标题: 柱状图
组件是使用的柱状图,需求是想要算出一个批合格率折线,批合格率=已入库/(已入库+拒收),
类型是一个字段包含(进料批数、待送检、待检验、待定异常、已入库、待入库、拒收),


作者: 永洪Tech-Lu    时间: 2022-5-10 16:55
您好,可以新建计算列计算出批合格率,绑定该计算列并设为折线图。
作者: lucky_h    时间: 2022-5-10 17:06
新建计算列可以设置类型吗?需要设置批合格率=已入库/(已入库+拒收)
作者: 永洪Tech-Lu    时间: 2022-5-10 17:32
副创优越胡红 发表于 2022-5-10 17:06
新建计算列可以设置类型吗?需要设置批合格率=已入库/(已入库+拒收)

你是说受颜色-类型影响吗
作者: lucky_h    时间: 2022-5-10 17:35
可以看下我附上的截图,新建计算列怎么把已入库和拒收找出来
作者: SamuelLiu    时间: 2022-5-10 18:50
副创优越胡红 发表于 2022-5-10 17:35
可以看下我附上的截图,新建计算列怎么把已入库和拒收找出来

可以先建已入库和拒收的计算列,通过类型列的值判断。具体写法可以参考https://www.yonghongtech.com/hel ... culateoverview.html
作者: lucky_h    时间: 2022-5-12 10:24
已经把已入库和拒收的数据分出来了,数据是对的,但是算合格率不对,批合格率是通过格间计算是对的。
合格率的脚本:
case when
col['合计'] = 0 then 0
else col['已入库']/col['合计']
end
作者: 永洪Tech-ZCL    时间: 2022-5-12 10:46
副创优越胡红 发表于 2022-5-12 10:24
已经把已入库和拒收的数据分出来了,数据是对的,但是算合格率不对,批合格率是通过格间计算是对的。
合格 ...

把col['合计']=0 改成col['合计']==0 试试呢
作者: lucky_h    时间: 2022-5-12 11:00
脚本报错了
作者: 永洪Tech-ZCL    时间: 2022-5-12 11:09
副创优越胡红 发表于 2022-5-12 11:00
脚本报错了

你的when后面没有 写then呢
作者: lucky_h    时间: 2022-5-12 13:49
这样还是有问题呢
作者: 永洪Tech-ZCL    时间: 2022-5-12 13:55
副创优越胡红 发表于 2022-5-12 13:49
这样还是有问题呢

计算类型改成基础函数 然后这样写呢
  1. if col['合计'] ==0 then 0
  2. else col['已入库']/col['合计']
  3. end
复制代码

作者: lucky_h    时间: 2022-5-12 14:16
算出来的数据不对
作者: 永洪Tech-ZCL    时间: 2022-5-12 14:20
副创优越胡红 发表于 2022-5-12 14:16
算出来的数据不对

要是直接就只写一个
  1. col['已入库']/col['合计']
复制代码
试试,这样出来的对不对
作者: lucky_h    时间: 2022-5-12 14:21
也是会报错的
作者: 永洪Tech-ZCL    时间: 2022-5-12 15:09
副创优越胡红 发表于 2022-5-12 14:21
也是会报错的
  1. if col['合计'] ==0 then 0
  2. else sum(col['已入库'])/sum(col['合计'])
  3. end
复制代码

这样子再试试,才发现你是聚合的
作者: lucky_h    时间: 2022-5-12 15:52
不可以呢,不支持
作者: 永洪Tech-ZCL    时间: 2022-5-12 15:58
副创优越胡红 发表于 2022-5-12 15:52
不可以呢,不支持

你的合计和已入库本身是聚合的吗?,你是怎么绑定的
作者: lucky_h    时间: 2022-5-12 16:04
是的
作者: 永洪Tech-ZCL    时间: 2022-5-12 16:15
副创优越胡红 发表于 2022-5-12 16:04
是的

您的合格率和批合格率的差别是什么呢
作者: lucky_h    时间: 2022-5-12 17:41
批合格率是通过格间计算得的数据,是对的。
合格率是通过脚本计算的,算出的数据不对呢
作者: yanieye    时间: 2022-5-12 19:46
改一下

if sum(col['合计'] == 0 then 0 else sum(col['已入库'])/sum(col['合计']) end
作者: lucky_h    时间: 2022-5-13 08:43
还是不可以呢,还有其他方法麽?   
作者: 永洪Tech-ZCL    时间: 2022-5-13 10:11
副创优越胡红 发表于 2022-5-13 08:43
还是不可以呢,还有其他方法麽?

你那个表格可以截个图看看是怎么绑定的吗,或者麻烦从管理系统->资源部署里,导出有问题的报告(数据集),以供我们本地分析一下,谢谢~

作者: lucky_h    时间: 2022-5-13 13:49
文件不支持,上传不了呢
作者: 永洪Tech-ZCL    时间: 2022-5-13 13:53
副创优越胡红 发表于 2022-5-13 13:49
文件不支持,上传不了呢

可以压缩到zip或者改名字后缀为zip后上传哦
作者: lucky_h    时间: 2022-5-13 14:18
请查看附件
作者: 永洪Tech-ZCL    时间: 2022-5-13 14:28
副创优越胡红 发表于 2022-5-13 14:18
请查看附件

里面没有报表吖,我想看看你的报表那边计算列是怎么写的
作者: lucky_h    时间: 2022-5-13 14:42
这个有报表
作者: 永洪Tech-ZCL    时间: 2022-5-13 17:01
副创优越胡红 发表于 2022-5-13 14:42
这个有报表

我试了一下,你把计算列就写成这样
  1. if sum(col['合计']) ==0 then 0
  2. else sum(col['已入库'])/sum(col['合计'])
  3. end
复制代码
。然后你那个折线图上 重新绑定一下这个字段,看还会不会报错。你的报错就是在折线图上报出来的。
作者: lucky_h    时间: 2022-5-13 17:10
好的 谢谢  我再试试
作者: 永洪tech-cp    时间: 2022-5-13 19:27
副创优越胡红 发表于 2022-5-13 17:10
好的 谢谢  我再试试






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