Power BI 计算总计百分比,父级百分比,列百分比和行百分比

Excel pivot table 是我们经常用到的分析工具。它可以帮助我们对数据汇总并进行一些分析。今天我和大家分享一下在Power BI下用度量值去计算总计百分比,父级汇总百分比,列汇总百分比和行汇总百分比。

如下图,数据源里面有5列,分别是时间字段,产品颜色字段,产品销售区域字段,产品销售数量字段和产品销售价格字段。我们可以把时间,颜色和销售区域认为是产品销售的维度信息。因此在不同维度上我们会观察到产品销售展示出的不同信息。



在pivot table里,我们可以对年和颜色两个维度进行汇总计算。用pivot内置的计算工具可以帮我们计算出当前销售与总计的占比和当前销售与其父级(上一级维度)的占比情况。这是一个很有用的分析方法。比如,我们可以利用这种方法在时间和颜色两个维度下进行纵向比较,以显示某种颜色的产品和其他颜色的产品之间的销售比较。


同样,我们可以把颜色和时间维度在pivot table里组成一个二维的矩阵,利用添加列汇总百分比和行汇总百分比字段去同时进行横向和纵向的比较。

  1. 横向比较时,我们可以获得在时间维度下(例如2016-2018年间),每个颜色产品和其自身所在时间维度内的总销售的关系,其实也就是自身的变化趋势。
  2. 纵向比较时,我们可以获得在时间维度下(例如2016年内),每个颜色产品和总销售的关系。


Power BI里的矩阵可视化工具是没有Excel Pivot table这些功能的。这是因为在不同的维度下,筛选的条件也会不一样。DAX是无法自动获取这些不同维度下的筛选条件的,因此不能像Excel Pivot table那样去创建百分比的计算。但是我们可以通过写度量值的方法,明确在不同维度下的计算分母的规则,从而达到相同的计算效果。


在计算总计百分比分母的时候,所有可见的筛选条件需要被删除掉。


在计算父级汇总百分比分母的时候,需要分别明确子级和父级下分母的计算规则。

  • 子级:把所有颜色字段的可见筛选值移除,保留其他字段的筛选值
  • 父级:先把所有筛选值移除, 恢复在时间字段的可见筛选值
  • 总计:空


下面的图例用Power BI建立一个二维的矩阵进行纵向和横向的比较分析

计算列汇总百分比分母的时候,把所有颜色字段的可见筛选值移除,保留其他字段的筛选值。

计算列行总百分比分母的时候,把所有时间字段的可见筛选值移除,保留其他字段的筛选值。

感谢大家的阅读。如果对您有帮助,请不要吝惜您的赞


发布于 2021-10-26 13:14

文章被以下专栏收录