The ultimate Fabric, Power BI, SQL, and AI community-led learning event. Save €200 with code FABCOMM.
Get registeredEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends September 15. Request your voucher.
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 |
---|---|
14 | |
12 | |
7 | |
6 | |
5 |
User | Count |
---|---|
28 | |
18 | |
13 | |
7 | |
5 |