【BIEE】06_UNION /UNION ALL集合中分类汇总求和占比字段特殊处理
环境准备
基于【BIEE】04..中建立的事实表
通过UNION ALL后得到如下报表:
优秀员工薪水公式:CASE WHEN "EMP_FACT"."级别"='A' THEN "EMP_FACT"."薪水" ELSE 0 END
非优秀员工薪水公式:CASE WHEN "EMP_FACT"."级别"='A' THEN 0 ELSE "EMP_FACT"."薪水" END
优秀占比:(CASE WHEN "EMP_FACT"."级别"='A' THEN "EMP_FACT"."薪水" ELSE 0 END)/sum("EMP_FACT"."薪水")
问题分析
出现上述问题的原因是:资料库的【薪水】字段已经是sum
解决这个问题只需要使用原值(不经过聚合的值)即可
公式修改
修改后结果:
新增行合计
合计后结果如下:
从图中我们可以看出,合计后的结果是不正确的,直接就是2.78,这种占比在合计结果这应该是=35000/(35000+1700)的,正确值应该是:0.95
此时,我们就可以想到,在占比列使用【服务器复杂聚合】即可实现效果
点击后,发现得不到预期的效果,最后发现:当使用union all或者union时候,无法使用该聚合方式
最终解决该问题的方案是:去掉union 使用【数据透视表属性】中的【包含仅有空值的行/列】
作者:奔跑的金鱼
声明:书写博客不易,转载请注明出处,请支持原创,侵权将追究法律责任
个性签名:人的一切的痛苦,本质上都是对自己无能的愤怒
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!