DATEADD和缺less的date
如何在PowerPivot计算列的DAX公式中可靠地添加10个月的date?
我的第一次尝试只适用于已经存在于EventDate列中的date。
=DATEADD(Dates[EventDate], 10, month)
正如Chris Webb在他的博客中所写的, DATEADD是不可靠的,因为只要在EventDate列中找不到结果date,就会返回空白。
我第二次尝试总是返回数据,但是一个月的日子是不正确的。
=[EventDate] + 10 * 31
备注:EventDate中的所有date都在本月的第一天。 我正在使用PowerPivot for Excel 2010.该公式适用于date维度中的财务年度层次结构。
有没有更好的方法来在DAX中添加月份?
这是一个旧的,但仍然可以使用……
=IF( DAY([Eventdate])>DAY(EOMONTH([Eventdate],10)), DATE(year(eomonth([Eventdate],10)),month(eomonth([Eventdate],10)),day(EOMONTH([Eventdate],10))), DATE(year(eomonth([Eventdate],10)),month(eomonth([Eventdate],10)),day([Eventdate])) )
这假设,如果“合作伙伴”10个月的天数较less,则将默认为该月的最后一天。
雅各布
使用DAX添加时间的另一种方法是使用EDATE() ,该函数添加月份,它将返回月份的正确date。 例如:
Foo = EDATE(Dates[EventDate], 10)