-
shijiao 小试身手Lv3
发表于2019-9-11 10:07
悬赏1
未解决
楼主
由于数据期不同,指标口径不同,故而在表元取指标时使用了if判断,if(B06_MX.BBQ_<'2012----',B06_MX.YLSR_MZSR+B06_MX.YPSR_MZSR,if(B06_MX.DEPT_CLASS LIKE 'D1%',B06_MX.N12_YLSR,B06_MX.N12_YLSR_MZSR)),但奇怪的是B06_MX.YLSR_MZSR+B06_MX.YPSR_MZSR计算出来的数据不对(测试过用两个表元分别去算这两个指标再相加,结果是与直接相加不一致,加nvl也不对),尝试加sum先求单个指标和再相加if(B06_MX.BBQ_<'2012----',SUM(B06_MX.YLSR_MZSR)+SUM(B06_MX.YPSR_MZSR),if(B06_MX.DEPT_CLASS LIKE 'D1%',B06_MX.N12_YLSR,B06_MX.N12_YLSR_MZSR)),结果报错:应该是number型结果获得char型,请问这是什么情况?if函数中不支持使用sum吗?ABI在单表元多指标运算时貌似存在较大问题。
6个回答
额,不知道为什么冒出来一堆乱七八糟的[size=13.3333px]。。。。。。
shijiao 发表于 2019-9-11 10:09
上传个公式截图吧
去掉sum是可以计算的,但是算出来的结果不对,不是两个指标的和,加nvl也不对,加上sum就报错无法计算了,提示应该是number型,结果获得char型,指标都是浮点型,不知道哪来的char型。
缱绻 发表于 2019-9-11 10:14
不支持主题表字段直接相加
问题我解决了,ABI是支持主题表字段直接相加的,数据不对的是因为存在空值,nvl的运算存在BUG,nvl之后求和变成了max,用decode代替nvl处理空值计算结果是正常的。