如何在Power Query(M查询)中使用DATEDIFF查找两个日期之间的月数

5

我需要在Power Query (M-query)中找到两个日期(Check In和Check Out日期)之间的月份差异。可以类似于下面的DAX。

period of months = DATEDIFF([dateCheckIn], [dateCheckOut], MONTH )

我发现了函数daysDiff = each Duration.days([date1]-[date2]) ,但没有用于计算月份差异的函数。


5
我理解了。((Date.Year([Change_Close_Date])-Date.Year([Change_Create_Date]))*12) + Date.Month([Change_Close_Date]) - Date.Month([Change_Create_Date]) 的意思是计算两个日期之间的月份数量。 - Thao N
5个回答

6
作为Power BI的新用户,我发现需要在DAX和Power Query答案之间进行筛选是令人疲倦的!DAX有DATEDIFF函数而Power Query(M语言?)没有?为什么呢?
在M语言中有一个Duration function
但是它不能计算月份。
因此我感谢Thao N提出并回答了这个问题 - 这是一行非常简洁的代码!
这就是你需要的:
((Date.Year([Change_Close_Date])-Date.Year([Change_Create_Date]))*12) + Date.Month([Change_Close_Date]) - Date.Month([Change_Create_Date]) 

1
我使用这个(我用半个月来计算)。对于整月,请使用30和1,对于季度,请使用7.5和4。
Number.IntegerDivide(Duration.Days([End]-[Start]), 15)/2)

0
你可以使用这个公式:
Date.Month(Date1)-Date.Month(Date2)+12*(Date.Year(Date1)-Date.Year(Date2))

0

我认为你可以使用 Number.From(([Date1] - [Date2])/30)


0

我觉得这个对我有帮助,如果你喜欢的话:

(12-Date.Month([StartDate])+1)+
(Date.Month([EndDate]))+
(((Date.Year([EndDate])-Date.Year([StartDate]))-1)*12)

目前你的回答不够清晰,请编辑并添加更多细节,以帮助其他人理解它如何回答问题。你可以在帮助中心找到有关如何编写好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接