question

jhowe avatar image
jhowe asked

SSRS default date 20th of month

Hello I've converted a spreadsheet into a SSRS report which is run on the 20th of month and I need to pass the 20th of the current month as a default value (start date). If the 20th falls on a Saturday, default to friday 19th. If the 20th falls on Sunday default to Friday 18th. How do I do this and what is the best way of doing it?
sql-server-2008sqlssrsssrs-2008
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

·
Kev Riley avatar image
Kev Riley answered
Personally, I would handle this within the stored procedure and not try and work this out in SSRS. This code snippet shows how to determine a startdate according to your rules. Note that in my environment the week starts on a Sunday (i.e.@@DATEFIRST = 7) - if you have a different start to the week you will need to adjust the values. declare @d datetime --set @d = '20 august 2011' -- saturday set @d = '20 November 2011' -- sunday select @startdate = case when DATEPART(dw,@d) = 7 --Saturday then @d-1 when DATEPART(dw,@d) = 1 -- Sunday then @d -2 else @d end select @startdate
4 comments
10 |1200

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

jhowe avatar image jhowe commented ·
I don't own the db so would rather not have to create stored procs if possible... also when declaring date time it needs to be 20th of the current month not a historical or set date.
0 Likes 0 ·
megamanblue avatar image megamanblue commented ·
substitute the hard coded date for getdate() function
0 Likes 0 ·
Kev Riley avatar image Kev Riley ♦♦ commented ·
I presumed there was user input specifying dates, with an optional default
0 Likes 0 ·
Kev Riley avatar image Kev Riley ♦♦ commented ·
Can you not change the report SQL at all? It sounds like you can't as the report exists, but you have a specific requirement to call it with specific parameters - is this right?
0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.