zoukankan      html  css  js  c++  java
  • 【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

  • 相关阅读:
    函数,封装
    c++增强c
    Git安装与使用
    Ajax&Jquery
    IntelliJ Idea2018.2,Pycharm20183.2破解教程
    事务&数据库连接池&DBUtils&JSP设计模式
    JSP&EL&JSTL
    Http协议和Servlet
    接收流信息---字符串
    lucene索引库优化一
  • 原文地址:https://www.cnblogs.com/OliverQin/p/8333821.html
Copyright © 2011-2022 走看看