I'm needing help to pull the previous business days and excluding the weekends in SSRS. I use the following code, however this code doesn't look past the weekends.
Here's the code I normally use:
=DateAdd(DateInterval.Day
, Switch(DatePart(DateInterval.WeekDay, Today()) = 2, -3
,DatePart(DateInterval.WeekDay, Today()) = 1, -2
,True, -1)
, Today())
Does anyone have any thoughts on how to write an SSRS expression to look past the weekends and pull only business days?
Continued exploring this and worked with others here...This is what we came up with to look to the previous business day and exclude the weekends when pulling the report on a Monday. This expression would be added to the date parameter.
=Switch(WeekdayName(DatePart("w", Today)) = "Wednesday",DateAdd(DateInterval.Day
, Switch(DatePart(DateInterval.WeekDay, Today()) = 2, -3
,DatePart(DateInterval.WeekDay, Today()) = 1, -2,True, -2) , Today()),
WeekdayName(DatePart("w", Today)) = "Thursday",DateAdd(DateInterval.Day
, Switch(DatePart(DateInterval.WeekDay, Today()) = 2, -3
,DatePart(DateInterval.WeekDay, Today()) = 1, -2,True, -2) , Today()),
WeekdayName(DatePart("w", Today)) = "Friday",DateAdd(DateInterval.Day
, Switch(DatePart(DateInterval.WeekDay, Today()) = 2, -3
,DatePart(DateInterval.WeekDay, Today()) = 1, -2,True, -2) , Today()),
WeekdayName(DatePart("w", Today)) = "Saturday",DateAdd(DateInterval.Day
, Switch(DatePart(DateInterval.WeekDay, Today()) = 2, -3
,DatePart(DateInterval.WeekDay, Today()) = 1, -2,True, -2) , Today()),
WeekdayName(DatePart("w", Today)) = "Sunday",DateAdd(DateInterval.Day
, Switch(DatePart(DateInterval.WeekDay, Today()) = 2, -3
,DatePart(DateInterval.WeekDay, Today()) = 1, -2,True, -3) , Today()),
WeekdayName(DatePart("w", Today)) = "Monday",DateAdd(DateInterval.Day
, Switch(DatePart(DateInterval.WeekDay, Today()) = 2, -3
,DatePart(DateInterval.WeekDay, Today()) = 1, -2,True, -4) , Today()),
WeekdayName(DatePart("w", Today)) = "Tuesday",DateAdd(DateInterval.Day
, Switch(DatePart(DateInterval.WeekDay, Today()) = 2, -3
,DatePart(DateInterval.WeekDay, Today()) = 1, -2,True, -2) , Today())
)