如何为PowerPivot计算列的DAX公式中的日期可靠地添加10个月?
我的第一次尝试仅适用于EventDate列中已存在的日期。
=DATEADD(Dates[EventDate], 10, month)
Chris Webb在他的博客DATEADD is unreliable中写道,因为只要在EventDate列中找不到结果日期,它就会返回空白。
我的第二次尝试总是返回数据,但月份的日期不正确。
=[EventDate] + 10 * 31
注意:EventDate中的所有日期都在该月的第一天。我正在使用PowerPivot for Excel 2010.该公式适用于日期维度中的财务年度层次结构。
有没有更好的方法在DAX中添加月份?
答案 0 :(得分:2)
这是一个旧的但可能仍然有用......
=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个月的天数较少,默认为该月的最后一天。
HTH 雅各布
答案 1 :(得分:1)
使用DAX为日期添加时间的另一种方法是使用EDATE(),此功能会添加月份,并且会返回该月的正确日期。例如:
@types