Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
1 year ago
Solved

Calculate days off from two dates columns but exclude the weekends as days

I am trying to calculate days off from two date columns where 'days off start'  is the first day of vacation and the "days off end" is the last day of vacation which when simply doing end-start includes weekends which I don't want to take into account. 

WHAT I NEED TO SOLVE IS:

IF I could have the [days off excluding wknds] calculation below take into account when "days off start" and "days off end" are null/empty to return a zero because there are no days off to be accounted for that would fix my issue unless there is an easier way to achieve "days off excluding weekends" or combine "days off excluding wknds" +''Adj days off"

Thanks in advance!!!

 

  • Anonymous Generally I do something like below. Wasn't sure if [Days Off Start] and [Days Off End] were measures or columns so you may have to adjust.

     

    Days off excluding wknds measure = 
    VAR __Start = MAX( 'Capacities'[Days Off Start] )
    VAR __End = MAX( 'Capacities'[Days Off End )
    VAR __Result = 
      IF( __Start = BLANK() || __End = BLANK(), 
        0,
        COUNTROWS(
          FILTER(
            ADDCOLUMNS(
              CALENDAR( __Start , __End ),
              "__Weekday", WEEKDAY( [Date], 2 )
            ),
            [__Weekday] < 6
          )
        )
    RETURN
      __Result

     

     

     

     

  • Anonymous's avatar
    Anonymous
    1 year ago

    Hi Anonymous ,
    Thanks for Greg_Deckler reply.
    You can also try NETWORKDAYS function, this will avoid counting weekends

    Days off = 
    VAR StartDate = SELECTEDVALUE('Table'[days off start])
    VAR EndDate = SELECTEDVALUE('Table'[days off end])
    RETURN
    IF(
        ISBLANK(StartDate) || ISBLANK(EndDate),
        0,
        NETWORKDAYS(StartDate, EndDate)
    )
    

     

    Best regards,
    Albert He


    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

     

     

2 Replies

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

    Anonymous Generally I do something like below. Wasn't sure if [Days Off Start] and [Days Off End] were measures or columns so you may have to adjust.

     

    Days off excluding wknds measure = 
    VAR __Start = MAX( 'Capacities'[Days Off Start] )
    VAR __End = MAX( 'Capacities'[Days Off End )
    VAR __Result = 
      IF( __Start = BLANK() || __End = BLANK(), 
        0,
        COUNTROWS(
          FILTER(
            ADDCOLUMNS(
              CALENDAR( __Start , __End ),
              "__Weekday", WEEKDAY( [Date], 2 )
            ),
            [__Weekday] < 6
          )
        )
    RETURN
      __Result

     

     

     

     

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous ,
    Thanks for Greg_Deckler reply.
    You can also try NETWORKDAYS function, this will avoid counting weekends

    Days off = 
    VAR StartDate = SELECTEDVALUE('Table'[days off start])
    VAR EndDate = SELECTEDVALUE('Table'[days off end])
    RETURN
    IF(
        ISBLANK(StartDate) || ISBLANK(EndDate),
        0,
        NETWORKDAYS(StartDate, EndDate)
    )
    

     

    Best regards,
    Albert He


    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly