分享

Power BI数据分析入门案例:费用分摊问题

 万里潮涌 2024-05-13 发布于浙江

上周介绍了一个基础的分析案例(Power BI数据分析入门案例:目标实际对比),这里我们再以费用分摊的案例来帮你进一步理解PowerBI数据分析的思路。

假设有两张表,一个是每日销售表,一个是每月发生的费用,模拟数据如下:

Image

需要将每月的费用按当月销售额的占比,分摊给每个产品、或者分摊到业务员/部门,应该怎么做呢?其中业务员和部门是层级关系。

同样按照上篇文章的思路,按下面三个步骤进行。

1、根据分析目的完善维度表

由于要按照各个维度来分摊,所以先根据现有的表来生成维度表。

(1)产品维度表

产品表 = VALUES('销售表'[产品名称])

Image

(2)业务员维度表

由于业务员和部门是层级关系,可以用SUMMARIZE一次性从销售表中提取两个字段:

业务员表 =
SUMMARIZE(
    '销售表',
    '销售表'[销售部门],
    '销售表'[业务员]
)

Image

这样就提取除了全部的业务员以及所属的部门。

(3)日期维度表

关于日期表不再赘述,你可以参考这两篇文章自行创建:

玩PowerBI必备的日期表制作方式汇总

分享一个更实用的Power BI日期表

2、建立数据模型

通过上面的准备工作,现在有5张表,原有的销售表、费用表,以及新建的产品表、业务员表和日期表。

这5张表可以这样建立关系:

Image

三个维度表根据需要,分别与不同的事实表建立一对多的单向关系。

3、建立度量值并展现分析结果

有了上面的模型,下面就可以写度量值来计算分摊金额。

为了下面度量值更简洁的书写,先写两个基础度量值:

销售额合计 = SUM('销售表'[销售额])

费用合计 = SUM('费用表'[费用额])

为了得到分摊额,首先需要计算出分摊比例,度量值可以这样写:

分摊比例 =
DIVIDE(
    [销售额合计],
    CALCULATE([销售额合计],ALLEXCEPT('销售表','日期表'[年度月份]))
)
分母只保留年度月份的筛选,是为了计算出每月的销售额合计,其他上下文的销售额除以该月的合计销售额,就是分摊比例。

然后分摊比例乘以当月的费用合计,就是应分摊的费用额:

分摊金额 = [费用合计]*[分摊比例]

用矩阵展示如下,将费用分摊到每个产品:

Image

如果想将费用分摊到业务员和部门,同样是这些度量值,只需要调整上下文,将产品换成业务员就可以了:

Image

这样就实现了任一维度的费用分摊,并没有用到复杂的DAX公式。

通过这个例子,不仅是学习如何解决分摊问题,还可以进一步的理解度量值的逻辑,它是一个动态的值,通过上下文的切换动态返回当前上下的结果,当然也不要忘了,度量值背后的数据模型,才是数据分析的灵魂。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多