Power Pivot函数——智能时间函数DateAdd的用法及差异

2020-03-24 15:24:00 浏览数 (2)

DateAdd

1. 语法

代码语言:javascript复制
DATEADD(<dates>,<number_of_intervals>,<interval>)

参数

描述

dates

包含时间的列

numberof intervals

增减的整数

interval

时间间隔类型Year;Quarter;Month;Day

2. 返回

表——包含单列日期的表

3. 注意事项

第一参数日期的格式可以有以下几种

  • 有关日期时间的列的引用 CALCULATETABLE(DISTINCT())
  • 返回日期值的表达式
  • 用于定义日期列的逻辑值 其他注意事项
  • 如果当前上下文中的日期不形成连续间隔,返回错误
  • 仅返回包含日期列中存在的日期

4. 作用

一般用于计算同比,环比数据。相对于PreviousYear,PreviousQuarter,PreviousMonth,PreviousDay,NextYear,NextQuarter,NextMonth,NextDay等函数更直观,同时也更统一。

5. 案例

建立日历表以及建立关系

注意:

  • 必选选择日期列后才能新建日历表
  • 建立关系后,在使用透视表的时候把多端的日历作为列
代码语言:javascript复制
销售额:=sum('销售表'[销售金额])
上年同期销售额:=CALCULATE([销售额],DATEADD('日历'[Date],-1,YEAR))
上年销售额:=CALCULATE([销售额],PreviousYear('日历'[Date]))

我们仔细观察,通过数据透视表我们发现DateAdd函数因为上下文的关系,在每个月这里都是进行同期比较,而函数PreviousYear则不是,仅仅计算上一年的合计数。所以在使用这两个函数的进行替换使用的时候还需要注意这一点。

请点个赞。

0 人点赞