Forum Discussion
Working Days between two periods
- 6 years ago
Yes, like I mentioned - you have to add your workday-filter.
It should work like you did before.
As I had to build the sample data from scratch, I've allowed myself to skip that additional column.
- Anonymous6 years ago
Thank you Imke!! Here is the final formula for anyone else that may need this. Again, this counts the number of workdays between one period and the next (in this...between Due Dates and Ship Dates). And also accounts for if the ship date comes earlier than the due date.
WDC =If( 'Flu Shipped'[Due Date] < 'Flu Shipped'[Date Shipped],CALCULATE(COUNTROWS( DateTable ),DATESBETWEEN ( DateTable[Date], 'Flu Shipped'[Due Date], 'Flu Shipped'[Date Shipped]),DateTable[DateIsWorkingDay]= True,ALL ( 'Flu Shipped' )),CALCULATE(COUNTROWS( DateTable ),DATESBETWEEN ( DateTable[Date], 'Flu Shipped'[Date Shipped], 'Flu Shipped'[Due Date]), DateTable[DateIsWorkingDay]=True,ALL ( 'Flu Shipped' )) * -1)
Hi Anonymous
how about this?
WD = if (
I tried it. I am getting the error:
A function "Calculate" has been used in a True/False expression that is used as a Table filter expression. This is not allowed.
- ImkeF6 years ago
Community Champion
Oh yes, sorry - the *-1 has to be moved:
WD = if ( 'Flu Shipped'[Due Date] < 'Flu Shipped'[Date Shipped], CALCULATE( COUNTROWS ( DateTable), DATESBETWEEN ( DateTable[Date], 'Flu Shipped'[Due Date], 'Flu Shipped'[Date Shipped] -0 ), DateTable[DateIsWorkingDay] = TRUE, ALL ( 'Flu Shipped' ), CALCULATE( COUNTROWS ( DateTable), DATESBETWEEN ( DateTable[Date], 'Flu Shipped'[Date Shipped] -0, 'Flu Shipped'[Due Date], ) , DateTable[DateIsWorkingDay] = TRUE, ALL ( 'Flu Shipped' ) * -1 )- Anonymous6 years agoNot applicable
Hi Imke - I'm still getting the same message.
I think maybe it has something to do with the IF statement and the Calculate Statments?
- ImkeF6 years ago
Community Champion
Hi working for me, but there might be typos in my post. Please compare with screenshot:
WDC = If( 'Flu Shipped'[Due Date] < 'Flu Shipped'[Date Shipped], CALCULATE( COUNTROWS( 'Calendar' ), DATESBETWEEN ( Calendar[Date], 'Flu Shipped'[Due Date], 'Flu Shipped'[Date Shipped]), ALL ( 'Flu Shipped' ) ), CALCULATE( COUNTROWS( 'Calendar' ), DATESBETWEEN ( Calendar[Date], 'Flu Shipped'[Date Shipped], 'Flu Shipped'[Due Date]) , ALL ( 'Flu Shipped' ) ) * -1).. just be aware that the holiday-filter is missing in my sample..