I have a Master Report with multiple sub-reports that generates a PDF. It will be printed by our clients, so it needs to have page numbers and a TOC to reference where the particular sub-report resides in the printed report.
SSRS doesn't have the ability to create a TOC with pages.
What is the best work-around for this problem?
Estimating the page number that a particular sub-report starts on from page size, row size, nb of rows etc, isn't an option, because the reports have different fonts and row sizes depending on the data.
Thanks
Ok, I've found an adequate solution that I've built a POC on - and it works.
Its a two pass approach, using custom external assemblies. First rendering sub-reports to populate a Table of Contents table, and then running the master report and displaying the TOC results on the TOC page, and after that the sub-reports agaain.
Here's the link that got me going.
Regards,
Jason
Related
I am using a simple table object in SSRS that uses the default format of Arial 10. It shows correctly in design mode, but when I execute the report, there are different fonts in different columns. Notice in samples below, during report execution, columns 1,2 and 5 are different than columns 3,5. Can someone explain this or point me in the right direction to get consistent output? Thanks!
Design Mode
Executed Report
Did you make any changes in the format?
if so, you have to clear cache by deleting the
file "reoprtName.rdl.data" in the project folder,
or rebuild the report.
I've returned to our reports collection after a couple of years away, and added a new report which has a simple tablix containing a few columns, but many rows from the dataset.
The problem is, the report (in Preview in VS, and when run on the Report Server) only shows some of the rows returned by the dataset, and doesn't enable the page navigation icons in order to scroll through the data to access the rest.
Where do I find the settings which control these things, please?
UPDATE:
Looking at some pre-existing reports, it seem that these exhibit the same problem - it would appear that SSRS can only display about 5,000 rows regardless of how many the dataset contains.
There is a 'hidden' setting in the XML code (not available via the UI AFAIK) called InteractiveHeight. Removing this line resulted in the paging starting to work
I'm creating a per-employee report that will be output to PDF and some pages of the report will only be applicable to specific employees. Ideally I would like to not show those pages when the report is run or when it is output to PDF.
Each page of the report would be pulling from different data, so I was looking into sub-reports as a potential option.
The other thing that might complicate this is that I need to be able to perform a batch output of the report for multiple employees to individual PDF files.
What is the best way to go about achieving this? Sub reports that I show or hide based on the available data? I've searched pretty extensively and haven't found any suggestions on how best to accomplish this.
Thanks in advance!
Reportfields have a CanShrink Option. If its empty and nothing else is on that line horizontally it shrinks to nothing. If you set all fields of a page to CanShrink it disappears in Reports where all the fields of that page are empty.
I'm new to SSRS and I need the ability to group multiple reports into a single report. I've searched around a lot but not found much. I currently have two reports (more to come) that users need to be able to view/save individually. The users also need the option to view both those reports as a single report. Essentially just a simple concatenation. Eventually, there will be several reports grouped and the user will be able to render all of them for viewing online or saving as a single PDF.
I tried two sub-reports in a master report but it causes a lot of hard to diagnose page-break problems. I was wondering if there was a more straight forward option here. Thanks.
Combining all the report elements into one report would work, but the users also need to be able to view them as individual reports as well. To avoid having to maintain both an master report and multiple individual reports, you have a couple of options:
Create a master report and insert the individual reports as sub-reports. If you get page break issues, check the report page height and widths versus the subreport container height and width.
(If you have SQL Server 2008 R2 or later) Consider publishing your individual reports as a set of Report Parts. You can then reuse these in a master report.
I'm not a fan of subreports either, they work well in Crystal but are not really necessary in reporting services.
Why don't you just combine the reports into one? Copy all the tablixes / other objects from each report onto a new report. You can select all and copy and paste very easily, you just need to set up the parameters, datasets and data sources if they aren't shared.
You can set pagebreaks to occur after each tablix or a good trick is to use rectangles because they will let you control page breaks in their properties.
This is in SSRS 2008.
I've created a report with a tablix, embedded in the tablix there is a subreport. This subreport contains a lot of information (and I mean a lot – it takes more than 45 sec to load it).
I don’t want to show it, or to be more precise – to process/load the data when the report initially runs. Note that I dont want to just not display it - because then all the data is still processed at initial load time.
Instead, I only want the subreport to be processed (and the data pulled down), individually, when I display it (e.g. clicking a + sign to toggle it, or any other option such as clicking an image/ link, while staying in the same report). I also don’t want to open the subreport in a different tab or something like that....
Does anyone know a solution? Maybe there is an onLoad method, dynamic subreport or something like that?
I tried looking into the DataElementOutput attribute, but that's readOnly... anything else?
Before you jump through a lot of hoops to implement a workaround, have you analyzed the execution plan for the query which is delivers the data for the subreport? If you haven't, it's worth it to see if performance can be improved by adding a covering index which will help the query optimizer to deliver the data quickly.
Hope this helps,
Bill
So, as it turns out, the problem was in fact because I had the subreport repeated for each row in the parent report. Thus, the subreport was called numerous times...
And according to MS, there is no way to dynamically process individual subreports. Had to solve this issue by splitting out the subreport (at least the data-heavy parts) to a seperate page. :(