DATEDIFF(<开始日期>, <结束日期>, <间隔单位>)

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

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

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

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

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

输入以下日期作为示范:

DATEDIFF函数 =
CALENDAR ( DATE ( 2018, 11, 1 ), DATE ( 2019, 11, 15 ) )

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

DATEDIFF示例1—DAY选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), DAY )

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

DATEDIFF示例2—HOUR选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), HOUR )

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

DATEDIFF示例3—MINUTE选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), MINUTE )

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

DATEDIFF示例4—MONTH选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), MONTH )

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

DATEDIFF示例5—QUARTER选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), QUARTER )

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

DATEDIFF示例6—SECOND选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), SECOND )

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

DATEDIFF示例7—WEEK选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), WEEK )

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

DATEDIFF示例8—YEAR选项 =
DATEDIFF ( MIN ( 'DATEDIFF函数'[Date] ), MAX ( 'DATEDIFF函数'[Date] ), YEAR )

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

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

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

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

DATEDIFF其他用法 =
DATEDIFF (
    'DATEDIFF函数'[DATEDIFF示例1—DAY选项],
    'DATEDIFF函数'[DATEDIFF示例2—HOUR选项],

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

小伙伴们,GET了么?
白茶会不定期的分享一些函数卡片哦。
(文件在知识星球[PowerBI丨需求圈])

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

下面这个知识星球是针对有实际需求的小伙伴,有需要的请加入下面的知识星球。
(这个星球里面有白茶之前所有的案例文件。)




ID:Storysming

DATEDIFF函数语法=DATEDIFF(&lt;开始日期&gt;, &lt;结束日期&gt;, &lt;间隔单位&gt;)DATEDIFF函数属于“值函数”之一。可能很多小伙伴平常并没有注意到这个函数,但是这却是一个很有用的函数。假如:一个事实表,有两个日期列,分别代表下单日期,出货日期,我想知道这期间的时间间隔,用DATEDIFF函数就可以轻松搞定。参数第一参数:开始日期。一个返回具体日期的表达式,或者标量值。如果返回结果是多个的话,在没有进行处理的情况下这个函数返回结果会有误差。第二. 第一参数:开始日期,可精确至秒 第二参数:结束日期,可精确至秒 第三参数:日期偏移的间隔,year/quarter/month/week/day/hour/minute/second 示例:计算2020/10/20至2020/12/12间间隔小时数 DATEDIFF(date(... 企业要提升利润,其中一点就是降低客户流失率,成功挽留一个客户比开发一个新客户重要得多,为此,我们需要在PowerBI报表上展示出定期的客户流失情况,以及分别是哪些客户已经流失,哪些客户将要流失,这样,就能帮助分析者尽量降低客户流失率。 计算客户流失情况,其原理与计算新客户开发数类似。数据结构部分如下: 这里,对于流失客户,我们的定义是两年内(不包括近X个月)有购买行为,但近X个月没有...
SELECT customer.salesman as 区域经理代号 , customer.serve_man1 as 业务经理代号,customer.customer_id,         convert(date,cash.trans_date,120) as 日期, (cash.act_amt + cash.agio_amt) AS 金额 当你需要在工作表上显示当前日期时,TODAY 函数会非常有用,且无需考虑何时打开工作簿。 它还有助于计算时间间隔 NOW 函数类似,但返回准确的时间,而 TODAY 为所有日期返回时间 12:00:00 示例:计算1983年出生的人的年龄 YEAR(TODAY())-1983 释义:以日期/时间格式返回当前日期和时间 如果需要在工作表上显示当前日期和时间,或根据当前日期和时间计算,并在每次打开工作表时更新该,NOW 函数
DATEDIFF(interval, date1, date2) 其中,interval表示要计算的时间间隔,可以是以下之一:year、quarter、month、day、hour、minute、second。date1和date2表示要计算的两个日期。 例如,要计算2021年1月1日和2021年2月1日之间的天数,可以使用以下语句: SELECT DATEDIFF(day, '2021-01-01', '2021-02-01'); 这将返回31,表示两个日期之间相差31天。