cancel
Showing results for
Did you mean:

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Helper IV

## Wrong result using DATESDIFF

Hello community,

I am facing a problem when calculating datediff from when a contract starts up until today, basically I want to know which year number are we in, but the results looks wrong, is it related to an interval where using "YEAR" in the formula power bi adds or not?

Sometimes it counts like we are in the year 0, sometimes in the 1st, although a year hasn't been completed in either of the cases.

Just to be clear, I want the count to start from 1. I tried added a +1 to the formula, but since sometimes it count as 0 or 1, it leads to wrong results as well.

Thanks for your time and help 🙂

1 ACCEPTED SOLUTION
Super User

when you make datesdiff by year, it gets the difference between the year only not the whole date, so it takes that what's the different between 2023 to 2024,it's 1, because 23+1 = 24

 Vote for my Community Mobile App Idea

Proud to be a Super User!

6 REPLIES 6
Super User

Hello @Victormar ,

the result is correct, Datediff function calculate the difference between two dates as per the interval you choose, so in your case you selected by year, so it shows tthe difference between the start date and today by year,

so what it is doing is that : start date 2020-01-06 and today which is 2024-02-21, the difference in years is zero because we are in the same year.

whereas the difference 2023-11-08 and today 2024-02-21 is 1 because the difference between 2023 and 2024 is 1.

 Vote for my Community Mobile App Idea

Proud to be a Super User!

Helper IV

But then, what about the date 2023-11-08? Shouldn't it be 0 as well? Or is it not basing the calculation on a year meaning 365 days, but on going from 2023 to 2024, for example.

Super User

when you make datesdiff by year, it gets the difference between the year only not the whole date, so it takes that what's the different between 2023 to 2024,it's 1, because 23+1 = 24

 Vote for my Community Mobile App Idea

Proud to be a Super User!

Helper IV

Got it, thanks. I guess then the best solution is to do the difference in days and divide by 365? My idea is to calculate a natural year from the start date.

Super User

Hello @Victormar  ,

you can specify the interval as you want in the datesdiff function.

examples:

( "Year", DATEDIFF ( StartDate, EndDate, YEAR ) ),

( "Quarter", DATEDIFF ( StartDate, EndDate, QUARTER ) ),

( "Month", DATEDIFF ( StartDate, EndDate, MONTH ) ),

( "Week", DATEDIFF ( StartDate, EndDate, WEEK ) ),

( "Day", DATEDIFF ( StartDate, EndDate, DAY )

 Vote for my Community Mobile App Idea

Proud to be a Super User!

Helper IV

thanks!