cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
shefalinishad11
Helper I
Helper I

calculate working day in positive and negative between two dates column

Hi Guys,

 

I have to prepare a milestone trend analysis and I have 3 columns; Due Date, Actual Date, Working Days

 

Milestone.jpg

 

Due DateActual DateWorking Days
03-06-2110-06-21-6.0
04-06-2111-06-21-6.0
05-06-2112-06-21-5.0
06-06-21  
07-06-21  
08-06-2109-05-2122.0
09-06-2110-05-2123.0
10-06-2111-05-2123.0

 

I need to calculate working days in all three cases; Negative, Positive, and Blank. I have created a calculated column with the below formula but that only gives working days when days are positive, not the other 2 conditions. 

 

 

Planned working days Due = 
    SUMX(
        FILTER(
            'Calendar',
            'Calendar'[Dates] >= 'Milestone Data'[Due Date] 
                && 'Calendar'[Dates] <= 'Milestone Data'[Field Work Start]
             ),
        'Calendar'[if work day]
        )

 

 

I have calculated the calendar also with the below fields.


Calendar.jpg

 

 

 

 

 

 

This is all the actual data fields I shared.

1 ACCEPTED SOLUTION
CNENFRNL
Community Champion
Community Champion

NetWorkday = 
VAR __min = MIN( 'Milestone Data'[Actual Date], 'Milestone Data'[Due Date] )
VAR __max = MAX( 'Milestone Data'[Actual Date], 'Milestone Data'[Due Date] )
RETURN
    IF(
        NOT ISBLANK( 'Milestone Data'[Actual Date] ),
        SIGN( 'Milestone Data'[Due Date] - 'Milestone Data'[Actual Date] )
            * COUNTROWS( FILTER( CALENDAR( __min, __max ), WEEKDAY( [Date], 2 ) < 6 ) )
    )

Screenshot 2021-09-08 222103.png

View solution in original post

8 REPLIES 8
CNENFRNL
Community Champion
Community Champion

NetWorkday = 
VAR __min = MIN( 'Milestone Data'[Actual Date], 'Milestone Data'[Due Date] )
VAR __max = MAX( 'Milestone Data'[Actual Date], 'Milestone Data'[Due Date] )
RETURN
    IF(
        NOT ISBLANK( 'Milestone Data'[Actual Date] ),
        SIGN( 'Milestone Data'[Due Date] - 'Milestone Data'[Actual Date] )
            * COUNTROWS( FILTER( CALENDAR( __min, __max ), WEEKDAY( [Date], 2 ) < 6 ) )
    )

Screenshot 2021-09-08 222103.png

View solution in original post

Thanks a lot, it worked perfectly for networking day in Planned vs Actual days and day difference also!!

sevenhills
Solution Sage
Solution Sage

Try this, if you are doing as calculated column

 

Planned working days Due = 
CALCULATE (
   COUNTROWS ('Calendar')
   , DATESBETWEEN ( 'Calendar'[Dates], 'Milestone Data'[Field Work Start], 'Milestone Data'[Due Date] - 1 )
        , 'Calendar'[if work day] = 1
        , All ( 'Milestone Data' )
)

 

Check this link which provides full details...

https://www.sqlbi.com/articles/counting-working-days-in-dax/

Hey @sevenhills ,

 

It didn't solve the other two things, count negative days and ignore when encounter blank.

 

Screenshot2.jpg

Looks like you are trying is count in all (three) conditions i.e., like pretty much ignoring any conditions.

 

Then it is as simple as difference between dates.

 

Planned working days Due = 
CALCULATE (
   COUNTROWS ('Calendar')
   , DATESBETWEEN ( 'Calendar'[Dates], 'Milestone Data'[Field Work Start], 'Milestone Data'[Due Date] - 1 ) 
        , All ( 'Milestone Data' )
)

If this is what you need, all your need is this 

Days Diff = DATEDIFF( 'Milestone Data'[Due Date] - 1, 'Milestone Data'[Field Work Start], DAY )

This is giving me normal numbers of days between two dates, not total working days (excluding Weekend - Saturday & Sunday)

Sorry, it is really not clear what exactly you are looking for ...

 

Below links covers the dates difference ... considering working days, holidays and other ... Please check

 

https://blog.enterprisedna.co/calculate-workdays-between-two-dates-in-power-bi/

https://www.sqlbi.com/articles/counting-working-days-in-dax/ 

https://www.mssqltips.com/sqlservertip/6917/working-days-calculator-power-bi/

 

Helpful resources

Announcements
Power BI December 2021 Update_carousel 768x460.jpg

Check it Out!

Click here to read more about the December 2021 Updates!

User Group Leader Meeting January 768x460.png

Calling all User Group Leaders!

Don't miss the User Group Leader meetings on January, 24th & 25th, 2022.

Jan 2022 Dev Camp 768x460 copy.png

Power BI Dev Camp- January 27th, 2022

Mark your calendars and join us for our next Power BI Dev Camp!

Top Solution Authors
Top Kudoed Authors