如何在Power BI中使用DAX函数进行datetime时分秒的加减计算?

在Power BI中,我们可以使用DAX函数对datetime进行加减计算。下面是一个例子,假设我们想在当前时间的基础上加上3个小时:

After8Hour = NOW() + TIME(8,0,0)

这里我们使用了NOW()函数返回当前的datetime,然后使用TIME()函数将指定的小时数、分钟数和秒数加上。在这个例子中,我们添加了8个小时,所以将8作为第一个参数传入,将分钟和秒数都传入0。

除了上面的例子之外,下面是一些常见的datetime加减计算的例子:

加上一定的时间间隔

假设我们有一个订单,需要在下单后2天内发货,我们可以使用下面的公式来计算出发货日期:

ShippingDate = OrderDate + 2

这里我们直接在OrderDate上加上了2天的时间间隔。

减去一定的时间间隔

假设我们有一个日程安排,需要在会议开始前30分钟提醒我们,我们可以使用下面的公式来计算提醒时间:

eminderTime = MeetingTime - TIME(0, 30, 0)

这里我们使用了TIME()函数将30分钟的时间间隔转化为一个datetime类型的值,然后在MeetingTime上减去这个时间间隔。

计算两个datetime之间的时间间隔

Power BI DAX 中的 DATEDIFF() 函数用于计算两个日期或时间之间的差异。它需要三个参数:间隔类型(例如年、月、日),开始日期和结束日期。

以下是 DATEDIFF() 函数的基本语法:

DATEDIFF(<interval>, <start_date>, <end_date>)

例如,要计算从2020年1月1日到2020年2月1日之间的天数,您可以使用以下公式:

DATEDIFF(DAY, "1/1/2020", "2/1/2020")

这将返回一个值为31,即两个日期之间的天数。

间隔参数必须是以下之一:

  • YEAR
  • QUARTER
  • MONTH
  • DAY
  • HOUR
  • MINUTE
  • SECOND

请注意,DATEDIFF() 函数不包括结束日期在内的计算。如果您想要包括结束日期,则需要将结果加1。

例如,要计算从2020年1月1日到2020年2月1日之间的天数(包括两个日期),您可以使用以下公式:

DATEDIFF(DAY, "1/1/2020", "2/1/2020") + 1

这将返回一个值为32,即两个日期之间的天数(包括两个日期)。

Logo

永洪科技,致力于打造全球领先的数据技术厂商,具备从数据应用方案咨询、BI、AIGC智能分析、数字孪生、数据资产、数据治理、数据实施的端到端大数据价值服务能力。

更多推荐