ResKing
ResKing

Reputation: 161

How to specify the report pdf name at run time?

I have a report named "Debt Report ". It runs for every month and a pdf is generated at the first of the month by subscription option.
If I am running the report for the month then the report name of the pdf should be "Debt Report for April" and like wise if I run it for may then the name of the pdf should be "Debt Report for May".

How can I do this?

Upvotes: 1

Views: 2885

Answers (4)

Awk Sod
Awk Sod

Reputation: 161

I have had to do the same thing ( well almost )

I had to generate a weekly report to file and save it as REPORT-Week01.pdf, then REPORT-Week02.pdf etc.

The mechanism I used was to change the parameter column in the Schedule table via a scheduled job. This computed the required file name and simply replaced it. Then when the scheduled job runs, it writes to the file name setup when the schedule was created ( except that was changed at 1 minute past midnight to what I wanted it to be )

I have since implemeted another set of reports that write to a folder, whihc changes each month the the next months folder name ( currently writing all reports to a folder called 202103 ) tonight the job will run and the output folder will change to 202104 and the scheduled jobs will never need changing

Upvotes: 0

ResKing
ResKing

Reputation: 161

The solution for this problem is "Data Driven Subscription" http://msdn.microsoft.com/en-us/library/ms169972(v=sql.105).aspx http://www.kodyaz.com/reporting-services/create-data-driven-subscription-in-sql-server.aspx

the following link helped me alot but the query given in the link creates trouble- cast the datatype of the getdate and it will solve the problem

http://social.msdn.microsoft.com/Forums/en/sqlreportingservices/thread/0f075d9b-52f5-4a92-8570-43bbdaf2b2b1

Upvotes: 0

Nathan Griffiths
Nathan Griffiths

Reputation: 12756

Another option, although a bit more technical, is to use the rs.exe utility to generate the report. This involves:

  • creating a script file that generates the report (this is where you can set the filename to your preference)

  • creating a batch file that calls rs.exe with the script file as a parameter

  • running the batch file on a schedule e.g. with Windows scheduler or SQL Server Agent

There is an example here of how to do this (to create Excel files but the principle is the same) http://skamie.wordpress.com/2010/08/11/using-rs-exe-to-render-ssrs-reports/

Upvotes: 0

user359040
user359040

Reputation:

Assuming you are scheduling the report to a file share, you can set the name of the file share to be Debt Report for @timestamp - this will name the file in the format Debt Report for YYYY_MM_DD_HRMINSS .

If you only want the month name (not the entire timestamp) to appear in the filename, you will need to use a Data Driven Subscription.

Upvotes: 1

Related Questions