Forum Discussion

lore256's avatar
lore256
Frequent Visitor
8 years ago

Difference of hours between 2 dates without Weekend & Holiday

Hello,

 

I'm still a new on Power BI and I looking for a solution everywhere but I didn't found the answer.

 

My problem is: I need to calculate the difference of hours between two dates, but the thing is that I need to calculate only the working days (without weekends and bank holiday).

I already have this table:

Can somebody help me? Please 

 

Best Regards

Lore 

 

 

 

 

4 Replies

    • lore256's avatar
      lore256
      Frequent Visitor

      Hello Greg_Deckler,

       

      Thank you for your answer. But I have already seen your solution and I would like this 

      NetWorkDaysHoursMinutes

      and this

      NetWorkDaysHolidays = 
      VAR Calendar1 = CALENDAR(MAX(NetWorkDays[created date]),MAX(NetWorkDays[review date]))
      //VAR Holidays = DATATABLE("Date",DATETIME,{{}})
      VAR Holidays1 = DATATABLE("Date",DATETIME,
          {
              {"12/25/2017 12:00:00 AM"}
          })
      VAR Calendar2 = EXCEPT(Calendar1,Holidays1)
      VAR Calendar3 = ADDCOLUMNS(Calendar2,"WeekDay",WEEKDAY([Date],2))
      RETURN COUNTX(FILTER(Calendar3,[WeekDay]<6),[Date])

       in the same formula. 

       

      Thank you again 

       

      Best regards,

      Lore

      • Greg_Deckler's avatar
        Greg_Deckler
        Icon for Community Champion rankCommunity Champion

        Well, you just combine the formulas then:

         

        NetWorkDaysHolidaysDaysHoursMinutes = 
        VAR Calendar1 = CALENDAR(MAX(NetWorkDays[created date]),MAX(NetWorkDays[review date]))
        VAR Holidays1 = DATATABLE("Date",DATETIME,
            {
                {"12/25/2017 12:00:00 AM"}
            })
        VAR Calendar2 = EXCEPT(Calendar1,Holidays1)
        VAR Calendar3 = ADDCOLUMNS(Calendar2,"WeekDay",WEEKDAY([Date],2))
        RETURN COUNTX(FILTER(Calendar3,[WeekDay]<6),[Date]) & " Days " & HOUR(MOD(MAX(NetWorkDays[review date]) - MAX(NetWorkDays[created date]),1)) 
        & " Hours " & MINUTE(MOD(MAX(NetWorkDays[review date]) - MAX(NetWorkDays[created date]),1)) & " Minutes"
        Red is from NetWorkDaysHolidays, Orange is from NetWorkDaysHoursMinutes and Green are tweaks. I did notice there is an error in the formula so I am correcting that.

         

        Red is from NetWorkDaysHolidays, Orange is from NetWorkDaysHoursMinutes and Green are tweaks. I noticed that there is actually an error in the NetworkDAysHoursMinutes formula so I corrected that and will correct it in the original post as well.