分解树计算小计的百分比

 

​Power BI 11月的功能更新,分解树是相当的热门,它应用广泛,圈内很多大咖都有对它进行深度挖掘及解读,本篇就是参考来自国外一大咖的分享,受到众多粉丝的喜欢与学习,现将分享给大家——关于分解树是如何计算小计的百分比

 

新的分解树视觉效果为我们如何显示基于分层信息的数据增加了另一个层次。在此Power BI教程中,将向你展示如何显示上一类别的小计百分比。观看以下gif可能最好地解释了这一点:

 

 

 

开箱即用的分解树视觉效果仅允许我们查看总计的百分比,该百分比并不是那么突出。希望看到当前选择中的值相对于当前节点总数的百分比。通过以下措施可以轻松实现。

 

销售百分比% =

 

VAR a = VALUES('销售表'[地区])

 

VAR b = VALUES('产品表'[类别])

 

VAR c = VALUES('产品表'[子类别])

 

VAR z = SUM('销售表'[销售额])

 

VAR y=

 

SWITCH(

 

   TRUE(),

 

   ISINSCOPE('部门架构表'[部门名称]),CALCULATE(SUM('销售表'[销售额]),ALLSELECTED('销售表'),'销售表'[地区] IN a ,'产品表'[类别] IN b,'产品表'[子类别] IN c),

 

   ISINSCOPE('产品表'[子类别]),CALCULATE(SUM('销售表'[销售额]),ALLSELECTED('销售表'),'销售表'[地区] IN a ,'产品表'[类别] IN b),

 

   ISINSCOPE('产品表'[类别]),CALCULATE(SUM('销售表'[销售额]),ALLSELECTED('销售表'),'销售表'[地区] IN a ),

 

   ISINSCOPE('销售表'[地区]),CALCULATE(SUM('销售表'[销售额]),ALLSELECTED('销售表'))

 

)

 

RETURN

 

IF(

 

   ISINSCOPE('销售表'[地区]),

 

   DIVIDE(z,y),

 

   1

 

)

 

 

它可能看起来很多,但一旦将头包起来,就很容易。在前三行中,我们仅获取层次结构中每个级别的值(不包括最深级别)。接下来,我们计算“ z”变量,该变量是“销售额”字段的总和。默认情况下,这会考虑所有过滤器。

 

更重要的是对下一节的理解。即创建一个名为“ y”的变量,该变量由SWITCH语句组成,以便了解计算层次结构的当前级别。使用ISINSCOPE函数,我们可以准确确定要应用哪个级别的计算。例如,如果层次结构按该顺序由“地区”,“类别”,“子类别”和"部门名称"组成,并且知道“类别”列,“子类别”列在可视范围内,则需要以某种方式计算度量。从层次结构的最深层开始,检查部门名称是否为 ISINSCOPE。如果是这样,计算销售额总和,以ALLSELECTED('销售表’)删除表上的所有过滤器然后将单个过滤器应用于"地区”,“类别”和“ 子类别”

 

假设部门名称不在范围内。这意味着我们处于层次结构的第一或第二层或第三层。SWITCH语句中的其他三个子句检查层次结构的各个级别,然后重新应用必要的过滤器

 

最后,在RETURN语句中添加了一个子句,以检查层次结构的第一级是否在范围内。如果不是,则返回1(100%)。如果是,则返回z除以y。这将返回上一个子类别的正确百分比。

 

以上即是全部内容,欢迎一起探讨学习~

 

技术交流

1.Power BI免费下载:http://www.yeacer.com/

    Microsoft Power BI Desktop中文最新版:下载地址

2.欢迎加入的Power BI技术群,目前正在学习阶段,有兴趣的朋友可以一起学习讨论。 

   Power Data技术交流群:702966126 (验证注明:博客园Power BI) 

   更多精彩内容请关注微信公众号:悦策PowerBI          


如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您的“推荐”将是我最大的写作动力!欢迎各位转载,作者博客:https://www.cnblogs.com/yeacer/ 
posted @ 2019-12-02 16:49  PowerBI365  阅读(1172)  评论(0编辑  收藏  举报