SSRS Reports Export to PDF and append other documents - reporting-services

I am having a requirement where in I am creating some sort of packages. There could be one or two SSRS reports (RDLs per say) part of the package and then there could be some other pdf files included in that.
So in turn the requirement is to merge one or more RDL and one or more pdf files together and make it a single pdf and allow the user to download it.
I am not sure if this can be achieved as it is asked in SSRS itself. My question is specifically if this kind of things can be achieved in SSRS.
I have the other approach where in I export the reports store them some where, pick the couple of PDF files in question and store them in the same folder and then zip it and go from there but thats something is not really wanted.
Could you help me on this or guide me to some resources/approaches?
thanks.

You may need to play around a bit but one way to make it work is to place all your reports as sub reports into your main report.. so when you run the main report.. it runs all the other sub reports.. when you export this, it should export as one document. What is not clear here is, if they have different parameters etc for different reports (sub reports) or if they have any parameters at all.

Related

Issue while rendering multiple sub reports with different header and footer in a main report

I have around 10 SSRS reports (i.e. 10 .rdl files) and those needs to be exported to one PDF. How can I do this? Do I need to write custom C#.Net code or SSDT 2017 provides any simple feature to export that?
Please note that, all the RDL files has different header and footer, The 1st page has image in it,few pages has both tabular as well as matrix report.
As suggested, I have one main report and I'm adding sub-report one after another (just maintain the sequence)
I searched on MSDN, however, it looks like Microsoft does not have such feature till now OR may be I'm missing something? Or any special setting or .Net code needs to be written?
Note: I have two version of SSDT (2016 and 2017)
You could just create a master report and then put your 10 reports in that as subreports.
If you reports take a parameters then all the parameters will have to be setup in the master report and then passed to the sub report.
Then, just run the master report and export to PDF...

Is it possible to run all the reports in a given folder from report server?

I have a folder with around 15 reports in it, these are Report Server reports. To run each report individually will take a while, so I want them to run together. So, what I want to be able to do is somehow run all the reports in this folder, is this possible?
This is somewhat of an ambiguous question. Let me explain. What are you asking specifically?
Q: Can you run multiple reports at the same time?
A: Yes, and there are several ways to accomplish this.
1. You can use SQL agents
2. Use batch files with task scheduler
3. Use an SSIS package and use an agent to run them at specific times...etc...
Hopefully one of the reports does not depend on another and another thing that you have to take in to consideration is how hard you will be hitting the SSRS or SQL server. Running them all at one time may take longer than one at a time. depending on the bandwidth of the SQL Server and what tables are going to be locked up during each of these processes.
You might want to give a little more detail in your question...
I would recommend an SSIS package, especially as it also one of the options presented by #Michael that can email the Excel workbook too which you mentioned in an earlier comment.
The following resource covers quite well the execution and export of an SSRS report using SSIS, including code you will need as a starting point: Executing an SSRS Report from an SSIS Package.
You could save some time in coding the solution by using the following custom Task that can be integrated into SSIS: SSIS ReportGenerator Task.
There is one problem in your requirements though which is merging reports into one Excel workbook where I assume you want separate sheets for each report within the same workbook?
Reporting Services can use multiple worksheets (to divide a report up into pages a.k.a pagination) but only for a single report; it can't merge reports into one Excel file. This can be accomplished with custom code however. There's a somewhat basic example here: Merging workbooks into a master workbook with separate sheet for each file.
One way to run all the reports at once is to add subscription to all of them and set same subscription start time in all of the reports. what will happen is once the start time arrived all the reports will run simultaneously and will generate excel/pdf (any format specified) file at shared location.

export ssrs report data into multiple excel files

I am calling reports through Data Driven Subscriptions. We are having very huge data (in millions). So the reports will be generating very large excel files.
We have provided download option to user for downloading created report excel files. But if file sizes are very huge, User is not able to dowload the files.
Does anyone have an idea how to split report data to multiple excel files. Does SSRS can handle it? After some size limit split data to next file. Like generate multiple files for same report call.
You can split the records into multiple shits by going to page break option in report properties.or you can go to tool tip and write custom expressipn there to how much data you want to see in one shit.
or you can use the help of SSIS to split the report into miltiple excel work book.
AFAIK there is no feature in SSRS that handles this.
You will have to roll your own solution: generate the report asynchronosly (or scheduled) server side, then create an application to distribute the files in seperate parts.

How to make SSRS reports available to users?

I've been thinking of the best way to present reports to the end user. We've accumulated several dozen reports. Some are subscription-based and are exported into Excel or emailed out regularly but a large number are run on-demand.
There's the option of sending the users the direct link to the reports. We don't do this because it's not easy to find (they have to dig through emails or bookmark the link)
http://server/ReportServer/Pages/ReportViewer.aspx?myreportrs:Command=Render
We've been embedding reports in sharepoint (or simply adding a link to the report). We're not using Sharepoint Integrated Mode. This has become a little unorganized where we have a large number of links to reports. I'm not sure what other solution exists..
SQL 2008, Sharepoint 2007
Depends on how much maintenance effort and instruction you want to provide. Some likely options include:
Use a SharePoint content page and hardcode a page with links to different reports.
Create a Sharepoint URL list linking to the different reports.
Create an SSRS report that is acts as a central index. This could either be a static page (a report without any data
source, just many static text boxes.) or a dynamic list of reports.
Depending on requirements you could query the SSRS databases and
use that as a central list.
My clients have generally found that a one of these, the Report Manager interface (/reports/), and emailing of specific report urls to be adequate.
Another option I once used: we created a formula (happened to be in Excel) that would create a url with the appropriate custom parameters to return just the data the user was interested in. Passed the parameters to SSRS as part of the URL. (Search on SSRS URL access.)

Dynamic charts at runtime in SSRS

I need to create a report(rdl) in SQL reporting services 2008. In that I need to create in runtime. The report has chart. I will specify the type of chart, font, alignment and all those stuff in runtime.
Is there any option for using this in SSRS 2008.
An rdlc is just an xml file so you can manipulate it at runtime, it's not a trivial undertaking though. You can find the rdl spec at http://download.microsoft.com/download/6/5/7/6575f1c8-4607-48d2-941d-c69622e11c32/RDL_spec_08.pdf.
There's a downloadable example of creating an rdlc for a table and a matrix dynamically, as well as lots of other useful report viewer info at http://www.gotreportviewer.com/.
You can generate the RDL however you want, it is just an XML file. But you will only be able to run the report locally. To run on the server you would need to deploy the report first, as the server does not run the RDL files directly.
I suppose this is still possible, but it would be pretty slow, and the report would not appear in the report manager or anything before hand.
However, your probably making this problem more complicated than it needs to be. I have work on projects where we generated the RDL and deployed daily with a custom application, and it is almost always not worth it. There is usually a better way.
You can set almost all the parameters of the chart using expressions. The only thing that can't be set is the chart type, but there are ways to get around that as well. Like having all the chart types you need created on the page, but making all except the one you want visible.
Yes...
to do so, you will need to either have an existing rdl file to modify, or you need to completely generate it from code.
All the SSRS xml is stored in the database in a table called catalog. You'll have to use the GUID of that report to access it, or insert a new row creating a new report.
once you're done swapping out your report server xml, the report server will have a "new" report that you can then call via your web page, or via SSRS url parameters.
past that clean up the catalog table if you see the need to.
I'll be honest with you though, this is very far from best practice, best practice that I'm aware of would be to embed the data you need to display in your web page in the form of a widget.