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

  • 相关阅读:
    Collections和Arrays常用方法
    集合(三)------双列集合
    集合(二)------单列集合
    集合(一)----------概述
    泛型
    线程
    Math类和Random类(数学公式相关类)
    时间相关的类
    Runtime类及其常用方法
    第65题:有效数字
  • 原文地址:https://www.cnblogs.com/OliverQin/p/8333821.html
Copyright © 2011-2022 走看看