powerbi同比环比怎么做(PowerBI数据分析入门案例)
前面介绍了两个Power BI数据分析入门案例:
Power BI数据分析入门案例:目标实际对比
Power BI数据分析入门案例:费用分摊问题
本文再介绍一个经常会遇到的折扣计算问题,下面这个案例以前也曾经介绍过,这里作为一个PowerBI入门分析案例再梳理如下。
假设订单表结构如下:
记录有每个产品在各个平台上的原价和每日销售数量。
另外还有一个折扣表,记录了促销期间每种产品在各个平台的折扣率:
每个平台上的折扣不同,并且促销起止日期也有差异,如何通过以上两个表快速计算各种维度下扣除折扣后的净销售额呢?
这个案例相比前两个稍微复杂一点点,产品在不同的平台和期间有不同的折扣率,并且日期有两列,不过整体思路依然不变,下面是实现步骤。
1. 完善维度表建立模型
构造模型是PowerBI数据分析的基础,先梳理需要分析的维度,建立合适的模型,而不建议拿到数据,直接就利用这些表开始写度量值计算。
就以上的分析需求来说,分析维度是三个:日期、平台和产品,所以先做三个维度表,都可以利用DAX来生成。
日期表制作很简单,以前专门介绍过:玩PowerBI必备的日期表制作方式汇总
平台表和产品表都可以从订单表中抽取不重复的数据作为维度表,直接这样写就可以了:
维度表做好以后,可以这样来建立模型:
这里需要注意的是,由于日期表与折扣表中的日期并不存在直接的对应关系,不用建立关系;虽然没有建立关系,我们还可以利用DAX来实现按日期的筛选查找,下面会看到。
2、建立度量值
首先写一个基础度量值来计算折扣前的原始销售额:
毛销售额 =
SUMX('订单表','订单表'[单价]*'订单表'[销售数量])
然后是折扣率的计算,如何计算出每个订单所对应的折扣率是重点,度量值可以这样写:
这就是利用DAX,通过上下文的信息去筛选折扣表(日期没有建立关系,利用FILTER按起止日期两列筛选),找出筛选后的折扣表所对应的折扣率。
有了这个折扣率,就可以计算净销售额了:
这里并不能简单的用毛销售额乘以折扣率来计算,因为如果没有明细的上下文,是无法准确的计算折扣率的。这个度量值中SUMMARIZE返回的表,是构造折扣率计算所需要的内部行上下文,无论外部筛选上下文是什么,在这个度量值内部,总能提供包含日期、平台、产品维度的上下文。
并且这样的写法也能确保总计等于明细行之和(关于总计行的问题可以参考:Power BI 总计错误的终极解决方案)。
3、展示计算结果
完成了上面的步骤,最后这一步就非常简单了,选择合适的可视化类型展现就可以了。
这里用矩阵来展示结果,将维度表中的字段放到矩阵的行中,毛销售额和净销售额度量值放到值中,就可以利用上下钻取来查看每一个维度折扣前后的销售额。
以上就是PowerBI折扣计算的实现思路,这里因为特殊的数据结构,在建模时无法直接建立的时候,利用DAX完成最终的计算。
建立合适的模型可以更简单的完成分析,但并不能仅通过建立模型就能实现变幻多端的分析需求,所以想掌握PowerBI,还必须学习DAX,二者结合,才能灵活解决各种业务分析问题。
其实用PowerBI做各种业务分析,抛开细节的业务逻辑,主要的步骤均是如此,关键是要多思考多练习,做到举一反三。
更多精彩内容认识Power BI这个炫酷的图表:旭日图
如何用Power BI计算折扣相关的问题?
Power BI分析应用:盈亏平衡分析
采悟 | PowerBI星球
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com