Forum Discussion
DATEDIFF calculation error
- 9 years ago
OK, good news! DateDiff doesn't freak out over Nulls, it just returns another Null. (See screen shot 3). It also has no issues with days equal to each other... (Sorry for those wrong paths). (also screen shot 3).
This is my formula if you want NULLS to pass thru for no End Date. (Best practics)
DateDiff2 = IF(Table1[Start_Date]<=Table1[End_Date],DATEDIFF(Table1[Start_Date],Table1[End_Date],DAY),(DATEDIFF(Table1[End_Date],Table1[Start_Date],DAY)*-1))
This is another option if you want 0 instead of NULL for a null end date.
DateDiff2 = IF(ISBLANK(Table1[End_Date]),0,IF(Table1[Start_Date]<=Table1[End_Date],DATEDIFF(Table1[Start_Date],Table1[End_Date],DAY),(DATEDIFF(Table1[End_Date],Table1[Start_Date],DAY)*-1)))
See if this works and sort the result ascending... i'm curious what PowerBI is seeing that's still making it think the dates are reveresed... (Please let me know, I'm sucked into the mystery now...)
FOrrest
I just tried it, I am still getting the same error. :(
I'm thinking the 'null' or blank End Dates might be your problem.... See if this posting helps to build an IF statement around those blank values..?
https://community.powerbi.com/t5/Desktop/function-isnull/td-p/12121
Forrest
- annerogers9 years agoHelper I
Thank you fhill.
I went there but I am not sure how to combine the calculation suggested in that post with the one I have built. Any suggestions?
This is what that post had:
IF( ISBLANK(TABLE[MEASURE]), BLANK(),TABLE[MEASURE])
OR
IF( ISBLANK(TABLE[MEASURE]), 0,TABLE[MEASURE])
This is what my calc for the new column:
IF(TABLE_PROGRAM[COLUMN_startdate]=TABLE_PROGRAM[COLUMN_enddate],0, DATEDIFF(TABLE_PROGRAM[COLUMN_startdate],TABLE_PROGRAM[COLUMN_enddate],DAY))
Thank you for your help on this.
- fhill9 years agoResident Rockstar
OK, good news! DateDiff doesn't freak out over Nulls, it just returns another Null. (See screen shot 3). It also has no issues with days equal to each other... (Sorry for those wrong paths). (also screen shot 3).
This is my formula if you want NULLS to pass thru for no End Date. (Best practics)
DateDiff2 = IF(Table1[Start_Date]<=Table1[End_Date],DATEDIFF(Table1[Start_Date],Table1[End_Date],DAY),(DATEDIFF(Table1[End_Date],Table1[Start_Date],DAY)*-1))
This is another option if you want 0 instead of NULL for a null end date.
DateDiff2 = IF(ISBLANK(Table1[End_Date]),0,IF(Table1[Start_Date]<=Table1[End_Date],DATEDIFF(Table1[Start_Date],Table1[End_Date],DAY),(DATEDIFF(Table1[End_Date],Table1[Start_Date],DAY)*-1)))
See if this works and sort the result ascending... i'm curious what PowerBI is seeing that's still making it think the dates are reveresed... (Please let me know, I'm sucked into the mystery now...)
FOrrest
- annerogers9 years agoHelper I
Fhill, You are the master! It worked !!! :)
Thank you soooo much.
- fhill9 years agoResident Rockstar
Can you screen shot me some of your data containing the null values? I want to duplciate on my side to troubelshoot.. FOrrest
- annerogers9 years agoHelper I
Here you go. Thank you for helping me.