Power Pivot 时间序列处理
Posted Excel为工具的数据分析
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Power Pivot 时间序列处理相关的知识,希望对你有一定的参考价值。
Excel Power Pivot在做时间序列数据处理时,提供了更多的时间智能函数 (DAX):
第一步:建立日历表
这个日历表有现成的模板,它是一份独立的含有每一天的一份日历。
他和你的业务数据中的日期列没有关系,就是单纯的日历
当然为了能使这个日历与业务数据中的日期关联起来,就要通过DateKey来建立链接。
1、Full date:是2015年1月1日至2017年12月31日的序列表
2、DateKey:=[@Year]*10000+[@MonthNumber]*100+[@Day]
3、Year:=YEAR([@FullDate])
4、Quarter:="Q"&ROUNDUP([@MonthNumber]/3,0)
5、Month:=TEXT([@FullDate],"mmmm")
6、MonthNumber:=MONTH([@FullDate])
7、Day:=DAY([@FullDate])
8、WeekDay:=TEXT([@FullDate],"dddd")
上面是各个字段的公式,当然有很多种方法和不同的公式可以做出这个日历表
把这个表链接到Power Pivot,并标记为时间表
这一步千万不能忘记,只有标记为时间表
上面的时间只能函数才能生效。
第二步:业务数据建立外键,与日历表链接
用时间列生成DateKey
要注意的是数量级别搞错了。
我就因为这个key走了弯路:
第一次:做日历,年*1000,结果总是提示Date Key不唯一,
第二次:日历改好了,业务数据还是*1000,怎么也计算不出结果。
将业务数据表也链接到Power Pivot并与日历表建立关系
第三步:建立度量值,来测试函数
这里的YTD/QTD/MTD:指的是年/季/月,截止到某一天的数据。
PY:去年同期数据
YOY:与去年同期数据差额
YOYP:同比
YTD/QTD/MTD:可以用下面三个函数来计算
TOTALMTD 函数
TOTALQTD 函数
TOTALYTD 函数
也可以用CALCULATE+
DATESMTD 函数
DATESQTD 函数
DATESYTD 函数
来实现。
TOTALYTD 函数:
CALCULATE+DATESYTD 函数:
PY:
YOY:
YOYP:
好了以上是基本的几个函数的测试。
以上是关于Power Pivot 时间序列处理的主要内容,如果未能解决你的问题,请参考以下文章
为啥使用 Power Pivot 在 Excel 中删除数据模型?