博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【BIEE】06_UNION /UNION ALL集合中分类汇总求和占比字段特殊处理
阅读量:5738 次
发布时间:2019-06-18

本文共 573 字,大约阅读时间需要 1 分钟。

环境准备

基于中建立的事实表

通过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 使用【数据透视表属性】中的【包含仅有空值的行/列】

转载地址:http://hgyzx.baihongyu.com/

你可能感兴趣的文章
Maven编译跳过test的设置
查看>>
[LeetCode]22.Generate Parentheses
查看>>
计算A/B Test需要的样本量
查看>>
二叉树前序中序后序遍历的非递归方法
查看>>
mysql 行转列列转行
查看>>
《设计模式系列》---桥接模式
查看>>
[Unity3d]Shader 着色器 学习前了解知识
查看>>
Linux中文件颜色所代表的属性和颜色
查看>>
Redrain duilib中事件委托存在的问题
查看>>
43、我的C#学习笔记9
查看>>
字符串的简单操作
查看>>
C#新功能--命名参数与可选参数
查看>>
strtok和strtok_r
查看>>
维辰超市:借助云商城成功转型新零售
查看>>
web.xml中<load-on-start>n</load-on-satrt>作用
查看>>
【算法】CRF
查看>>
windows 8 微软拼音输入法
查看>>
Windows UI风格的设计(7)
查看>>
SQL中使用WITH AS提高性能 使用公用表表达式(CTE)简化嵌套SQL
查看>>
oracle 强行杀掉一个用户连接
查看>>