Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and a 50 percent discount on exams.
Get startedEarn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
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
User | Count |
---|---|
50 | |
39 | |
18 | |
14 | |
13 |
User | Count |
---|---|
99 | |
71 | |
29 | |
18 | |
13 |