Reputation: 55
Can anyone let me know how to declare a date in SSRS via some logic?
if today = Monday
then start date = today - 3days
if today != (not equal to ) Monday
then start date = today - 1day
This should be given in SSRS so that if I click today's date, yesterday's data should come in my report.
Upvotes: 0
Views: 308
Reputation: 1541
Write an expression in SSRS to set Date
=IIF(Weekday(Today()) = 2,DateAdd(DateInterval.Day,-3, Today()),DateAdd(DateInterval.Day,-1, Today()))
Upvotes: 0
Reputation: 69749
Assuming that on Sunday this should also default to Friday, you can set your parameter default to:
=IIf(WeekdayName(Weekday(Today)) = "Sunday", DateAdd("d", -2, today),
iif(WeekdayName(Weekday(Today)) = "Monday", DateAdd("d", -3, today),
DateAdd("d", -1, today)))
Or For SQL:
DECLARE @Date DATE = '2016-04-18'; -- Monday
SET @Date = DATEADD(DAY, CASE (DATEPART(WEEKDAY, @Date) + @@DATEFIRST) % 7
WHEN 1 THEN -2
WHEN 2 THEN -3
ELSE -1
END, DATEDIFF(DAY, 0, @Date));
SELECT @Date;
Which gives 2016-04-15
(Friday)
Upvotes: 1