【BIEE】06_UNION /UNION ALL集合中分类汇总求和占比字段特殊处理

环境准备

基于【BIEE】04..中建立的事实表

通过UNION ALL后得到如下报表:

image

优秀员工薪水公式: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

image

解决这个问题只需要使用原值(不经过聚合的值)即可

image

公式修改

image

image

image

修改后结果:

image

然后点击image进入分析编辑状态

image

新增行合计

image

合计后结果如下:

image

从图中我们可以看出,合计后的结果是不正确的,直接就是2.78,这种占比在合计结果这应该是=35000/(35000+1700)的,正确值应该是:0.95

此时,我们就可以想到,在占比列使用【服务器复杂聚合】即可实现效果

image

 

点击后,发现得不到预期的效果,最后发现:当使用union all或者union时候,无法使用该聚合方式

最终解决该问题的方案是:去掉union 使用【数据透视表属性】中的【包含仅有空值的行/列】

image

posted @ 2018-01-23 08:02  OLIVER_QIN  阅读(1052)  评论(0编辑  收藏  举报