Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago

Calculating Difference Between Two Dates using Multiple If statements

I have another multiple "if statement" that I'm having issues with. 

 

PKG.1_DATE1 =1/1/2020

PKG.1_DATE2 = 1/14/2020 

PKG.2_DATE1 = 1/2/2020

PKG.2_DATE2 = 1/20/2020 

 

This worked

Custom Column -> Latest Package Delay = if List.Max({[PKG.1_DATE2], [PKG.2_DATE2]}) = 0 then null else List.Max({[PKG.1_DATE2], [PKG.2_DATE2]})

 

This does not work

 

Custom Column -> Schedule Delay = if [Latest Package Date] = null then 0 else if [Latest Package Date] = [PKG.1_DATE2] then (Duration.Days [PKG.1_DATE2]-[PKG.1_DATE1])/7 else if [Latest Package Date] = [PKG.2_DATE2] then (Duration.Days [PKG.2_DATE2]-[PKG.2_DATE1])/7 else 0

8 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    if this

     

    Custom Column -> Latest Package Delay = if List.Max({[PKG.1_DATE2], [PKG.2_DATE2]}) = 0 then null else List.Max({[PKG.1_DATE2], [PKG.2_DATE2]})

     

    works, I suspect the column type [PKG.....] is not date.

     

    Then the error that probably raises the following expression.

     

    Could you give some example of the input table and the expected ouput table?

     

     

     

     

     

     

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      Anonymous Thanks again for your help.

       

      The expected output table for column "Schedule Delay" should be a value for the number of weeks delayed.  

      Input Table

       

      • Anonymous's avatar
        Anonymous
        Not applicable

        and the input table is ...

         

        you should give only some fictitious examples of the data you manage.

         

        Is important know the number, the order  and the name on the columns involved; the tipical case you wanto to treat:

         

        For example if you have the max you are looking for in two differente pkg, which pkg we should considere to calculate the delay.

         

        etc etc..

         

         

  • mahoneypat's avatar
    mahoneypat
    Microsoft Employee

    Is the second custom column referencing the first one?  Maybe just a typo in the post, but the names are different (Latest Package Date vs. Latest Package Delay).

     

    If this works for you, please mark it as the solution.  Kudos are appreciated too.  Please let me know if not.

    Regards,

    Pat

    • Anonymous's avatar
      Anonymous
      Not applicable

      mahoneypat 

      No, it should be Latest Package Date. This is not a problem. I need to find the difference in weeks from the latest package date.

  • v-eachen-msft's avatar
    v-eachen-msft
    Community Support

    Hi Anonymous ,

     

    Do you mean to calculate the difference with Duration.Days()? It should be "Duration.Days[PKG.1_DATE2]-[PKG.1_DATE1] )/7"

     

    • Anonymous's avatar
      Anonymous
      Not applicable

      v-eachen-msft See message 5. I'm already using the Duration Days in my power query. I need to calculate the Duration Days from the latest package date.