Power BI(十二)Power Pivot时间智能函数

常用时间计算指标:

缩写 英文 解释
YTD Year To Date 年初至今的累计
QTD Quarter To Date 季度初至今的累计
MTD Month To Date 月初至今的累计
YOY Year On Year 与去年同期变动的百分比(同比)
MOM Month On Month 与上月变动的百分比(环比)

常用时间智能函数:

函数 说明 参考的相似函数
TOTALYTD 年累计 DATESYTD
TOTALQTD 季度累计 DATESQTD
TOTALMTD 月累计 DATESMTD
DATEADD 日期推移 SAMEPERIODLASTYEAR
PARALLELPERIOD 某一区间的总数

创建一个日历表

日历表可以手动创建也可以自动创建

手动创建(有日历年和财政年)

创建一个日期列
image.png
在power pivot标记为日期表
image.png

自动创建

image.png

时间智能函数运用

DAX函数:

  • 训练销售金额:=SUM([金额])
  • 训练的年累计YTD:=TOTALYTD([训练销售金额],’日历年’[日期])

由于可能存在预付款的情况,所以可以改进一下公式

  • 训练的年累计YTD2:=TOTALYTD([训练销售金额],’日历年’[日期],’日历年’[日期]<TODAY())
  • 训练的季度累计QTD:=TOTALQTD([训练销售金额],’日历年’[日期],’日历年’[日期]<TODAY())
  • 训练的月累计MTD:=TOTALMTD([训练销售金额],’日历年’[日期],’日历年’[日期]<TODAY())
  • 训练DATESYTD:=CALCULATE([训练销售金额],DATESYTD(‘日历年’[日期])) //这个与TOTALYTD([训练销售金额],’日历年’[日期])等价
  • 但是TOTALYTD可以处理财政年的这一种情况

训练财年YTD:=TOTALYTD([销售金额],’日历年’[日期],’日历年’[日期]6月30号之后从0开始
power pivot生成数据透视表
image.png

计算同比(YOY)和环比(MOM)

训练的销售金额:=SUM([金额])
训练的年累计YTD:=TOTALYTD([训练的销售金额],’日历年’[日期],’日历年’[日期]训练的月累计MTD:=TOTALMTD([训练的销售金额],’日历年’[日期],’日历年’[日期]训练的去年销售额:=CALCULATE([训练的销售金额],DATEADD(‘日历年’[日期],-1,YEAR))
训练的去年销售金额2:=CALCULATE([训练的销售金额],SAMEPERIODLASTYEAR(‘日历年’[日期]))
训练同比YOY:=DIVIDE([训练的销售金额]-[训练的去年销售额],[训练的去年销售额])
训练环比MOM:=DIVIDE([训练的销售金额]-[训练的上月销售额],[训练的上月销售额])
训练的去年YTD销售额:=CALCULATE([训练的年累计YTD],DATEADD(‘日历年’[日期],-1,YEAR))
训练的YTDYOY:=DIVIDE([训练的年累计YTD]-[训练的去年YTD销售额],[训练的去年YTD销售额])
image.png