新浪博客

Power Pivot时间智能之计算YTD(年初至今累计)

2017-10-10 15:49阅读:
通过使用Power Pivot中的时间智能函数,能让我们快速地进行关于时间的计算。比如YTD(年初至今累计)、QTD(季度初至今累计)、MTD(月初至今累计),或YOY同比,MOM环比等计算。而这些在传统的Excel中是比较难计算的。
今天我们就来看一下如何计算YTD(年初至今累计),以及如何计算财年的YTD,包括如果财年从3月1日开始如何规避闰年的问题。

日期表.jpg
要想在Power Pivot中实现时间智能的计算,先要向模型添加一张日期表。


时间表.png


日期表的建立请参考如下要求:
  1. 至少包含一列不重复且连续的日期列,也就是每一行是一天。
  2. 日期表里的日期区间要大于事实表里的日期区间。
  3. 事实表的日期列要和日期表的日期列建立关系。
  4. 开始计算前要在“设计”选项卡下“标记为日期表
”。


标记日期表.png

自然年.jpg


写公式之前,我们先看一下示例模型。在模型中只有销售记录表和日期表


model.png


销售记录表里有一个度量值- 销售总额订单金额的求和


总额.png
针对自然年的YTD计算,我们可以直接使用TOTALYTD函数:


totalytd.png

在这里我们只需要输入两个参数即可:
  1. 指定计算的表达式,这里为[销售总额]
  2. 指定日期表的日期列

看下生成的计算结果:
ytdtotal.png

大家可以看到,YTD销售额从1月开始累加,直到年底。最后4个月因为尚未发生交易,所以YTD值是一样的。
这是自然年的YTD计算方法,接下来我们看一下财年的YTD计算方法。我们以财年从7月1日开始为例。




财政.jpg 针对公司自定义财年的情况,我们需要指定TOTALYTD的另外一个参数 - 财年结束日
ytd2.png
通过对财年结束日的指定,TOTALYTD按照我们需要的方式从7月1号开始计算累计值。结果如下:
效果2.png
是不是非常简单方便?下面我们再深入一下。


间隔源文件2.jpg

假如某公司的财年是3月1日开始,由于闰年的影响,我们无法在公式中指定财年结束日是2月28还是2月29时该怎么办?
解决这个问题我们需要了解TOTALYTD的另外一种写法。大家可以把TOTALYTD看成一个封装好的函数,它的计算原理如下:
3yue.png
使用CALCULATE函数对[销售总额]进行计算,且通过筛选函数FILTER对日期表的筛选限定计算结果:
  1. 首先通过ALL限定基于整张日期表进行计算。
  2. 在日期表里的财年等于所选时间里的最大财年。限制了计算在同一财年进行。(注意此处的财年应在日期表中提前预设好从3月1日开始)
  3. 日期表里的日期小于等于所选时间里的最大日期。实现了从年初至所选时间的限制。

我们再看一下计算结果,YTD的计算从3月开始累计。
效果3.png


今天的分享内容就到这里,更多Power Pivot时间智能函数的用法请参考我们的视频课程 - Excel Power Pivot数据建模分析(进阶篇)。

我的更多文章

下载客户端阅读体验更佳

APP专享