Page headers on SSRS subreports in grouped table - reporting-services

I have a multiple page report. It takes 3 parameters: start date, end date, and job number.
They have requested the ability to run this report for all jobs or multiple jobs at a time. I created a second report and made the job number parameter allow multiple values. I then created a table, grouped by the job number, and added my original report as a subreport in a row.
This all works great. Except that the page headers from the subreport do not show. I can easily get the info to show at the start of the report by adding it to the table grouping, but I can't figure out if there's any way to get it to show on each page.
If each job's report is 4-5 pages and they run it for 25 jobs, they really need to have the corresponding job number on the top of each page. Some people have suggested putting it as the table header and checking the option to show on each page, but that won't change per job and I don't think it works if the subreport spans multiple pages anyway.
Any ideas?

Usually headers and footers in sub-report will not display in the report.
The best way is group by "job number" add a row above inside the group, put job number in that. Then go to job number group properties and select "Page Break" for each instance of group.

Related

In SSRS is there a way to use newspaper columns and still have a new page per group?

My dataset is grouped by customer then itemtype and then the details are the itemcodes and descriptions.
I am using the Newspaper column setting so that the list of items continues on to the right side of the page instead of moving on to the next page.
My problem is that I want to start a brand new page for each customer. Since SSRS treats each column as a page break, I get a page where one column belongs to one customer and the next column belongs to another.
I have tried the page break setting on the different group and the tablix properties to try and force a double page break to happen with no luck. I have also tried to drop a rectangle into the table and use the page break setting there, also no luck.
Any help would be appreciated.
Thanks,
Jessica
I've not used the multi-column layout so I can;t directly comment on that but what you could potentially do is use a subreport.
If the following does not help, post a sample of your data and your current report design and I'll post a full answer.
In short, create a report that only handles a single customer, so it will need to have a parameter passed into it that identifies each customer such as a CustomerID.
Once you have the report working with a single customer, create another report.
On this report create a dataset that just contains a list of customers you want to report on (so a list of CustomerID's for example).
Add a table to the report and remove all but a single "cell". Expand this cell to be roughly the width of your subreport (it does not have to be exact).
Set the dataset property of this table to the dataset containing your list of customers.
In the remaning cell, right-click then Insert >> Subreport. This will fill the cell with a subreport control. Right-click the subreport control and set the subreport to be the sub-report we created earlier that handles 1 customer. In the parameters, set the CustomerID parameter to the field from your customer list dataset.
Finally, right-click the 'details' rowgroup and set page breaks to 'between each instance'.
This will generate one subreport per customer and put a page break between each.

Can you link multiple tablixes on a key field in a single SSRS report?

I am creating a report in SSRS to show evaluation scores. It has three sections, and I need to link them all together on the PreceptorID field (2108 in this case). The top two sections are from the same query. I am filtering the results in each one to separate the counts because they have different column names. The third section is a subreport showing comments from evaluators. It also has the PreceptorID field in the data but is not displaying it. It has two parameters that should be populated by the main report query, but that does not appear to be happening. The report is returning all comments instead of only the ones with the matching PreceptorID.
This first image is from Crystal Reports showing how the finished product should look.
This is what I am getting from SSRS. It is showing counts for multiple people at the top. The counts in the middle are actually correct. They are all for the one person. The next person's counts are on the next page. The comments at the bottom are also not filtering on the one PreceptorID.
This image showing the subreport parameter that should be linking it back to the main query.
How can I tell all three sections to only return data for the same person on one page, and another person on the next page?
I would redesign the report structure slightly. This is only my personal preference, there are several ways to achieve this but I find this way easier to manage and maintain.
You'll need two subreports and a master report.
You already have the 2nd subreport so no extra work required there.
I would take you current report, strip out the link to the current subreport and change it so it only processes a single person (just like your existing sub report).
So SubReport1 will have the two tables from your current main report only. It will only accept a single person as a parameter (or pair of parameters in your case)
SubReport2 will be your current subreport. Again it only accepts a single person.
Next create a new report. This will be the master report.
Add a dataset that contains just enough info for list of people you want to report over. So the dataset query might be as simple as
SELECT PreceptorID, ClerkshipID FROM myTable ORDER BY PreceptorID
Add a table to this report and set it's dataset property to the dataset you just created.
Change the default (details) row group to group and order by whatever makes each record unique (maybe both the two columns listed above, may only one will be required, only you will know this).
Right-Click on the row header to the left of your table and do "Insert Row => Inside Group Below".
Remove all but one column
You should now have a table with 2 rows per group.
Right click the top cell in the group and do "Insert => Subreport", go to the subreport properties and point this to SubReport1 (or whatever you called it) and set the parameters has you have done previously.
Repeat this for second row, this time pointing to your second subreport.
In the row group properties, set page breaks to "Between each instance"
That should be it. This was done from memory so might not be 100% but based on the info in your question you should be able to work it out from here.
Things to check if this is not working
Open each subreport and test it by passing in parameters manually. Each subreport should only be returning data for a single person.
The master report should have a dataset that returns each person once i.e. if there are 10 people in total this dataset should only contain 10 rows.
The table in the master report should contain only two rows
Both rows must be EITHER within the same row group, or, if you have no other row groups, they will both be in the detail row group.
The report design should look something like this if you have a row group by person
or like this if you only have detail rows.
Finally, make sure the parameters you pass to your subreports are the Field values from your master report's dataset, NOT your master reports parameters.

Is it possible to run a single record report on Multiple records from a view?

I have a report that pulls in a sub report and is run from within a single record on Dynamics CRM 2011. The report is built in SSRS 2008. It uses a parameter to find the id of the current record. The report runs fine from within each record which is what we need it to do.
There is now a requirement to also run the same report for multiple records, in essence printing out the results 1 record per page for multiple records.
I have tried to copy the report and sub report (making the relevant changes), find the multiple records list in an advanced find view, and then run the report on all the selected records in the view but instead of pulling the details for each record onto a single page and then the next record onto the next page, this method pulls all results for each field from all records and then all the results from all records into the next field.
I am assuming that the parameter that is in the original version single report to find the current record, when used with the advanced find list is pulling all of the id's for all of the records and then producing all of the results per field.
I have gone around in circles trying multiple ways of ending up with a report per record per page but I now need some help. If I remove the current id parameter I cannot work out how the report would pull the correct information together for each single record and the matching sub-report before moving onto the next record.
Is it possible to batch print a single report on multiple records selected from an advanced find view? and if so please could someone point me in the right direction.
I'm not sure how you're report is set up but you'll probably want to use a list to separate each instance of the report. Set it to Group by your ID field.
Then you put your current report items that you want generated for each item inside the list. The list will generate an instance for each ID.
It's a bit complicated sounding at first but not too difficult once you get the idea.
MSDN - Lists
SSRS generate same report for multiple values accepted as parameters
The list is like a rectangle that repeats.

Selecting multiple parameters for a report, how to create multiple pages per item in parameter list?

I have a report that is a form per order number selected prior to running report. I want to make it so that you can select multiple order_nos from a list (populated by a query that runs first). Right now, it throws an error saying ANY or ALL must be used. I think it is trying to use both order_nos as the parameter for the report. I want it to create the report using just one of the order_nos at a time, and just replicate the report several times. Is this possible?
The attached photo shows what I tried to do and the error thrown.
Error
If you want to create completely separate outputs then you will need to do this by creating a data driven subscription for your report.
The subscription will execute your report iteratively for each record produced in a preset master query that you create.
Each record in your master query should return all the order no's you wish to execute the report for.
However, if the report needs to remain interactive, and the order no's is only decided at runtime. Then i suggest you keep your report as is. Put a grouping on your tablix based on order no then apply a page break per group instance.
This will produce a single report output with each order no appearing on a different page.
As said above if you want a completely separate output (multiple excel/pdf file outputs) then you will need to use a data driven subscription.
If you need detailed steps on how to do either of the above then just let me know here and i can include steps.

Summarize Tablix on Each Page

I am using SQL Server Reporting Services 2008 to generate invoices. The user selects a batch and each invoice in the batch should print out 1 to a page. Each invoice should contain the summary of charges at the bottom, preferably in the footer to keep a consistent position.
Problem is, it won't allow me to put tables or subreports in the footer. All I can do is put text boxes, but the only data I can get in there are aggregates pertaining to my dataset as a whole. I can't get subtotals for just that invoice within the batch.
Basically my setup is a tablix that is grouped by invoice number with a page break between instances of the group. This ensures each invoice prints to its own page. But when I try to add a text box to the footer to subtotal THAT invoice, my only option seems to be First(Fields!SubTotal.Value, "DataSet") or some other aggregate. I need the subtotal for THAT invoice number whether it be the 1st or the 5th.
I don't know if I'm explaining this very well. I'm sorry if this doesn't make any sense.
I suggest you change your approach a little bit:
Instead of adding a subtotal outside of the tablix, add a total to the bottom of the group. Insert additional lines in the group, but outside of the detail(or subgroup) rows that are repeating within the page.
Page footers aren't very tightly connected to the data or its layout, so they will be trickier to keep sub-totals within. If you really need to do it this way, then you'll need to keep a running total in some embedded code in the report. Start with this example and add additional code to zero out the running total at the beginning of each page.