美文网首页
通过对周进行编号计算周环比(WOW)

通过对周进行编号计算周环比(WOW)

作者: PowerPivot工坊 | 来源:发表于2017-10-13 17:27 被阅读0次

    今天我们和大家一起看一下如何通过对周进行编号,来计算周环比(WOW)。

    先来看一下我们的示例模型:

    ​模型由销售记录表和日期表组成,我们已经创建了销售金额的度量值:

    销售金额:=SUM([金额])

    接下来我们在日期表里对周进行编号。最简单的编号方式是通过WEEKNUM进行,但这个方法会遇到跨年的问题-如果一周跨两年则无法正常计算。所以我们今天介绍另外一种方法:

    先通过WEEKDAY把周几的信息提取出来:

    =WEEKDAY('日期表'[日期],2)

    ​注意WEEKDAY的第二个参数选2,每周从周一开始,这样符合中国用户的习惯。

    接下来我们再通过公式提取出每周对应的周开始日期:

    =CALCULATE(MAX('日期表'[日期]),FILTER(ALL('日期表'),'日期表'[第几周]=1&&'日期表'[日期]<=EARLIER('日期表'[日期])))

    ​示例的日期表是从2014年1月1日开始,所以对于前几天没有周开始日期,这个不影响我们后面的周编号,所以忽略即可。

    有了周开始日期,我们就可以通过对该日期排序来计算周编号了:

    =RANKX('日期表','日期表'[周开始日期],'日期表'[周开始日期],ASC,Dense)

    注意升序(ASC)和连续排序(Dense)的参数使用。

    ​这样我们就得到了日期表里所有日期的连续周排序编号,依据此编号可以进行关于周的计算。

    要注意一点,如果一周分别在两个月或两年的情况,为了不让周销售额被切片,我们可以对周销售额进行如下书写:

    周销售额:=IF(HASONEVALUE('日期表'[周编号]),CALCULATE('销售记录'[销售金额],FILTER(ALL('日期表'),'日期表'[周编号]=VALUES('日期表'[周编号]))))

    大家注意看下图第53周的数据,该周横跨了2014和2015年,而我们的周销售额可以正确显示整周的数字。

    ​同理,我们计算上周销售额:

    上周销售额:=IF(HASONEVALUE('日期表'[周编号]),CALCULATE('销售记录'[销售金额],FILTER(ALL('日期表'),'日期表'[周编号]=VALUES('日期表'[周编号])-1)))

    周环比:

    周环比:=DIVIDE('销售记录'[周销售额]-'销售记录'[上周销售额],'销售记录'[上周销售额])

    下面是最终的效果:

    有了连续的周编号后,我们即可进行多种基于周的时间智能计算。这就是我们今天的分享内容,更多Power Pivot时间智能函数的用法请参考我们的视频课程- Excel Power Pivot数据建模分析(进阶篇)。


    如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”

    ​长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、Power Pivot相关文章、资讯。欢迎小伙伴儿们转发分享~


    *PowerPivot工坊原创文章,欢迎转载,请注明出处

    相关文章

      网友评论

          本文标题:通过对周进行编号计算周环比(WOW)

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