美文网首页Power BI干货PowerBI专栏
利用ISINSCOPE,帮你在PowerBI中轻松按层级计算占比

利用ISINSCOPE,帮你在PowerBI中轻松按层级计算占比

作者: PowerBI星球 | 来源:发表于2021-01-23 21:59 被阅读0次

    关于占比,之前有篇文章(利用ALL和ALLSELECTED灵活计算占比)详细介绍了各种情况下占比的度量值。

    经星友咨询,还有一种情况没有介绍,实际工作中会经常用到的情形是:父级字段显示该层级值占总体的比例,而打开该层级,显示子级各明细项占该层级值的占比。

    仍然用占比文章中的示例,直接来看一下效果。

    当处于产品类别层级,显示类别占在总体的比例,

    而打开类别,产品明细显示占该类别的比例,

    其实单独计算产品明细占类别的比例,以及类别占总体的比例,在占比那篇文章都介绍过,现在只是需要把这两种情况合并在一起就行了。

    合并在一起,主要是需要判断当前上下文是类别还是产品名称,这就要用到一个新函数:ISINSCOPE

    这个函数直译过来的意思就是:否在范围内,官方释义为:当指定的列是级别层次结构中的级别时,返回true。

    直接给出实现上述效果的DAX写法:

    占比 层级 = SWITCH(TRUE(),ISINSCOPE ('产品'[产品名称]), DIVIDE([销售额],CALCULATE([销售额],ALLSELECTED('产品'[产品名称]))),ISINSCOPE ('产品'[产品类别]), DIVIDE([销售额],CALCULATE([销售额],ALLSELECTED('产品'[产品类别]))),DIVIDE([销售额],CALCULATE([销售额],ALLSELECTED('产品'[产品名称]))))

    通过ISINSCOPE来判断当前上下文是产品名称还是产品类别,分别计算不同的占比,并利用SWITCH函数区分不同的情况返回对应的数据。

    因为利用了ALLSELECTED函数,这个度量值也是可以根据外部的筛选情况灵活返回对应的占比数据,

    本质上依然是占比文章中利用ALL和ALLSELECTED函数和参数的变化来计算占比,只是多了一个层级的判断而已。

    这两篇文章结合起来,细细把这几个度量值琢磨透彻,基本没有什么占比可以难倒你了。

    -精彩推荐-

    Power BI商业数据分析模型:RFM客户价值分析

    如何用PowerBI 打造高大上的财务报表分析报告?

    Power BI应用技巧:动态显示最近N天的数据

    PowerBI数据分析和可视化实战案例

    采悟 from PowerBI星球

    相关文章

      网友评论

        本文标题:利用ISINSCOPE,帮你在PowerBI中轻松按层级计算占比

        本文链接:https://www.haomeiwen.com/subject/gnfpzktx.html