Forum Discussion

Victormar's avatar
Victormar
Helper V
2 years ago
Solved

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 🙂

  • Victormar ,

     

    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

6 Replies

  • 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.

    • Victormar's avatar
      Victormar
      Helper V

      Thanks for your answer Idrissshatila 

      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. 

       

      • Idrissshatila's avatar
        Idrissshatila
        Super User

        Victormar ,

         

        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