前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >函数周期表丨时间丨值丨DATEDIFF

函数周期表丨时间丨值丨DATEDIFF

原创
作者头像
PowerBI丨白茶
修改2021-08-30 10:20:04
6490
修改2021-08-30 10:20:04
举报
文章被收录于专栏:PowerBI

DATEDIFF函数

代码语言:txt
复制
语法=
DATEDIFF(<开始日期>, <结束日期>, <间隔单位>)

DATEDIFF函数属于“值函数”之一。可能很多小伙伴平常并没有注意到这个函数,但是这却是一个很有用的函数。假如:一个事实表,有两个日期列,分别代表下单日期,出货日期,我想知道这期间的时间间隔,用DATEDIFF函数就可以轻松搞定。

参数

第一参数:开始日期。一个返回具体日期的表达式,或者标量值。如果返回结果是多个的话,在没有进行处理的情况下这个函数返回结果会有误差。

第二参数:结束日期。一个返回具体日期的表达式,或者标量值。如果返回结果是多个的话,在没有进行处理的情况下这个函数返回结果会有误差。需要注意:结束日期不能大于开始日期,否则返回错误。

第三参数:间隔单位,说白了就是你想求两个日期是差了多少天、几个月、几个季度、多少个小时等等。可选项有:SECOND(秒),MINUTE(分钟),HOUR(小时),DAY(天),WEEK(周),MONTH(月),QUARTER(季度),YEAR(年)。

返回结果

一个标量值,一组时间间隔的数字。

应用例子

输入以下日期作为示范:

代码语言:txt
复制
DATEDIFF函数 =
CALENDAR ( DATE ( 2018, 11, 1 ), DATE ( 2019, 11, 15 ) )

白茶决定使用这组日期作为DATEDIFF函数的示例。

示例1:

代码语言:txt
复制
DATEDIFF示例1—DAY选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), DAY )

结果如下:两个日期间隔天数为379天。

示例2:

代码语言:txt
复制
DATEDIFF示例2—HOUR选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), HOUR )

结果如下:两个日期间隔小时为379*24=9096个小时。

示例3:

代码语言:txt
复制
DATEDIFF示例3—MINUTE选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), MINUTE )

结果如下:两个日期间隔分钟为3792460=545760分钟。

示例4:

代码语言:txt
复制
DATEDIFF示例4—MONTH选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), MONTH )

结果如下:两个日期共差了12个月。

 示例5:

代码语言:txt
复制
DATEDIFF示例5—QUARTER选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), QUARTER )

结果如下:两个日期相差4季度。

示例6:

代码语言:txt
复制
DATEDIFF示例6—SECOND选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), SECOND )

结果如下:两个日期相差秒数为3792460*60=32745600秒。

示例7:

代码语言:txt
复制
DATEDIFF示例7—WEEK选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), WEEK )

结果如下:两个日期相差一共54周。

示例8:

代码语言:txt
复制
DATEDIFF示例8—YEAR选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), YEAR )

结果如下:两个日期相差一年。

到这里基本上常规的示例就讲解完毕了,但是,要是输入结果不是标量值呢?

第一种情况,不使用一个标量值,直接输入列的情况是不允许的。

DATEDIFF其实还有别的用法,比如这种:

代码语言:txt
复制
DATEDIFF其他用法 =
DATEDIFF (
    'DATEDIFF函数'[DATEDIFF示例1—DAY选项],
    'DATEDIFF函数'[DATEDIFF示例2—HOUR选项],
    DAY
)

如果是纯粹的用两个度量值,那么返回的间隔是随着第三参数变化而变化。也就是说,在某种情况下,我们可以算间隔,不必拘泥于是否是时间单位;间隔的粒度,可以按照第三参数来决定

小伙伴们,GET了么?

白茶会不定期的分享一些函数卡片哦。

(文件在知识星球PowerBI丨需求圈)

这里是白茶,一个PowerBI的初学者。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档