Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
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 |
---|---|
42 | |
28 | |
23 | |
18 | |
15 |
User | Count |
---|---|
54 | |
35 | |
18 | |
18 | |
15 |