人生没有彩排
每一天都是现场直播

在PowerBI中按版本分月展示销售目标与实际值

对比销售目标与实际完成情况是一项基础但至关重要的任务,本篇文章将介绍如何在PowerBI中按版本分月展示销售目标与实际值。

问题描述

现有不同版本的计划,制定了不同月份应该要达到的销售目标。现在需要计算各个月份的销售额,要求如下,请自行建模完成计算。

1、若某一月份早于当前版本中指定的最早计划月份,则显示该月的实际销售额;

2、若该月份等于或晚于当前版本的最早计划月份,则显示该月对应的计划值(如该月无计划值,则用过去最近月份的计划值)。

具体问题如下图所示:


本案例的初始数据如下:

计划表:

版本 年月 Sales
V1 202507 10
V1 202508 20
V1 202509 30
V1 202510 40
V1 202511 50
V1 202512 60
V2 202508 70
V2 202509 80
V2 202510 90
V3 202503 100
V3 202504 110

实际表:

年月 Sales
202501 21
202502 44
202503 67
202504 57
202505 130
202506 198
202507 76
202508 34
202509 130
202510 69
202511 141
202512 125

若需其它辅助表等,可自行创建并建模。

解题要点

本案例较简单,先获取当前版本的最小月份,然后判断当前月份是否小于该最小月份,进行分类处理即可。然后,在获取最近的计划销售目标时,可以先筛选出过去的计划数据,然后使用TOPN等函数来获取最后一个月的即可。


解决方案

首先,数据模型如下图所示:

然后,创建如下度量值:

Mix Sales = 
SUMX(
    VALUES('实际表'[年月]),
    IF('实际表'[年月]<MIN('计划表'[年月]),
        CALCULATE(SUM('实际表'[Sales])),
        CALCULATE(
            MAXX(TOPN(1,'计划表','计划表'[年月]),'计划表'[Sales]),
            '计划表'[年月]<=EARLIER('实际表'[年月])
        )
    )
)

然后创建一个矩阵,并将实际表中的年月字段作为行标签,计划表中的版本字段作为列标签,再将上面的度量值放入矩阵的值字段即可,如下图所示:

总结

以上方法仅供参考,若有更优雅的解决方案,欢迎留言讨论,或者加入我们的技术交流群,一起享受这种思维碰撞的快乐吧!

PBI/DAX技术交流群(QQ):344353627

赞(2) 打赏
版权声明:本文为夕枫的原创文章,著作权归作者所有,未经允许不得转载
文章名称:《在PowerBI中按版本分月展示销售目标与实际值》
文章链接:https://www.ximaple.com/posts/1157.html
订阅评论
提醒
guest
0 评论
最新
最久 最赞
内联反馈
查看所有评论

觉得文章有用的话就支持一下吧~

感谢您的打赏支持,我将持续输出有价值的内容!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册

Operation don't support