Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredJoin us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM. Register now.
Hello,
I have following code that creates calculated table with dates for 12 months rolling period.
For some reason I cannot use DATEADD function using column (it gets underlined as error and table does not materialize). I have this stupid workaround to use just [YearMonthTrunc_B]>([YearMonthTrunc_A]-365) but this is causing some issues for leap-years.
Is there something better to use than DATEADD?
Thanks for any response,
Zuzana
Table =
var monthrange = SELECTCOLUMNS( ADDCOLUMNS(SUMMARIZECOLUMNS('_Date - renewal'[YearMonthTrunc])
,"YearMonth",FORMAT('_Date - renewal'[YearMonthTrunc],"YYYY/MM"))
,"YearMonth_A",[YearMonth]
,"YearMonthTrunc_A",[YearMonthTrunc])
var rollingperiod = SELECTCOLUMNS( ADDCOLUMNS(SUMMARIZECOLUMNS('_Date - renewal'[YearMonthTrunc])
,"YearMonth",FORMAT('_Date - renewal'[YearMonthTrunc],"YYYY/MM"))
,"YearMonth_B",[YearMonth]
,"YearMonthTrunc_B",[YearMonthTrunc])
return
FILTER(CALCULATETABLE(CROSSJOIN(monthrange,rollingperiod))
,AND([YearMonthTrunc_B]<=[YearMonthTrunc_A]
,[YearMonthTrunc_B]>DATEADD([YearMonthTrunc_A],-12,MONTH))
)
Table '_Date - renewal' is also calculated:
_Date - renewal = ADDCOLUMNS ( CALENDAR (min(data[start_date]),TODAY()), "YearMonthTrunc", date(year([date]),month([date]),1),
Solved! Go to Solution.
Functions that work with dates need input that is a DATE (and even though sometimes type coercion kicks in, you should NEVER rely on that), so please make sure you have the right input into your functions. What's more, some of them need input in the form of a column with specific data types, some work on pure dates (disconnected from any tables). For the correct syntax and data types, please refer to DAX Guide. You'll find everything you need in there.
By the way...
var __today = TODAY()
var __todayBackInTime = EDATE( __today, -12 )
return
{ __todayBackInTime }
Best
Darek
Functions that work with dates need input that is a DATE (and even though sometimes type coercion kicks in, you should NEVER rely on that), so please make sure you have the right input into your functions. What's more, some of them need input in the form of a column with specific data types, some work on pure dates (disconnected from any tables). For the correct syntax and data types, please refer to DAX Guide. You'll find everything you need in there.
By the way...
var __today = TODAY()
var __todayBackInTime = EDATE( __today, -12 )
return
{ __todayBackInTime }
Best
Darek