1. Try using select count(1) instead of select count(*). It will be faster.
2. Try building a view at the database level that calculates the business days and source viz from the view.
DATEDIFF("weekday", [Start Date], [End Date])
- 2 * (DATEPART('week', [End Date]) -DATEPART('week', [Start Date]))
+ (IF DATENAME('weekday',[End Date]) = 'Saturday' OR DATENAME('weekday',[Start Date]) = 'Sunday'
THEN 0 ELSE 1 END)
I imagine you could add additional conditions to handle holidays you wanted to ignore as well.