SSRS Repeat table for each record of results - reporting-services

Apologies if I have missed it anywhere else but I can not find any examples of this.
I am pulling data from sql into SSRS and rather than have one row in a table per record, i want a table/group of tables to replicate per record with the ID field as a table title. Something similar to the below image. Is there an option in SSRS to do this? any help is greatly appreciated.
wanted output

You can do this with a row group based on NoticeNumber. Simply add two headers and group detail.
Add a table.
Add a row group with the group field being Notice No. Make sure you select the option to add group header.
Right click the row header added in 2a and select6 "Add Row|Inside Group Below".
Add the number of columns you want for each record.
Select all the in the top group header row, right click, and select merge.
Add your Notice number to the merge cells.
Select the merged cell and set its text alignment to left aligned.
Paint all you cells in the row produced in 3 above gray.

Related

Put Group header above group instead of beside it in SSRS

I have a report group that currently looks like the image. It has row groups as follows:
It grouped in order like this:
Department
Agent
Year
Month
I have removed the columns with department and agent and year. I would like to put the agent and department above the column headers which repeat on each page along with the agent. I tried putting a row above the headers but you can't merge cells when adding a row above there and agent + department is very long. What I want is shown in 2nd image..I put the expression in a text box in the page header but it just repeats the first value on each page and not the actual value.
How to do? I want it above and not beside to save horizontal space.
Check these previous answers of mine. If they don't help, post the report design including group properties and I'll see what I can do.
Grouping in SSRS?
Repeat Row group on top of table as table headers between every groups in SSRS

SSRS - Is it possible to span a row group header over a column group?

Sample Report showing where header should span
I hope the attached image explains succinctly what I am asking. I have a Matrix with a parent row group, a child row group, and a column group. I need to have a title for each group that spans a column group. The title will be the value of the Parent Row Group. Obviously by it's nature, a column group may be one or more columns which makes this very tricky (I hope not impossible though).
Does anyone know if this can be achieved, and if so how?
Thanks in advance!
I don't 'think' this is possible due to the presence of a column group. The only way I can think of to achieve this would be to create a subreport that displays single parent group (almost identical to what you have now), with a textbox on top of the tablix containing the parent group text.
The main report would then be a single cell table bound to a dataset that just lists the parent groups. In that cell you would place you subreport.
You can just create a parent table and put your table in it. The parent table will expand with the child.
Create another table with one column.
Set the dataset to be the same as your current table.
Add grouping and group on 1.
Make the group text box the same size as your table.
Drop your table in the group text box.
Add you header.
I don't have enough reputation to comment or to upvote Hannover Fist's answer, but it is a good way to proceed. You can indeed nest tables. You just need to make sure that the cell of the outer table that you paste the expanding table into does not have any row or column groups around it: you normally get a Detail row group when you simply insert a table, and you'll need to delete that group.
Subreports work too, but it's messy to have to break a long report into many subreports just because you want spanning headers.

Mixing detail rows in the middle of grouped rows

I have a report that need to show rows grouped by some criteria, let's say SubjectId.
But, final report preview need to looks like table below:
Little explanation:
Rows 11 and 12 belongs to group 1, and I need to put those 'Details rows' in the middle of table and after those two columns, I need to continue with group data, and that method would be valid for any group in table.
Everything would be easy if those two details columns are last two columns, but I have problem to get preview from picture if those columns are in the middle.
I'm not sure you can do this.
You could get something similar by just adding your Gender column at the end and then setting the HideDuplicates property of the textbox top True but that will not allow centering etc.
This was the output I got after applying the above.
I've used Category twice just as an illustration (that it belongs inside the row group)

Add "COUNT" column in SSRS in place of details rows

Apologies for this very newb-like question. I have some detail data that I want to group... I have added three group by columns (LOB, Event Classification, Assigned) to my table and want to add a third (Count) that counts the number of rows in the third (Assigned) group. At the moment I do this simply by adding a CountRows() column within the last (inner most) group. This is all I want to show. But I am forced to add a details column that I do not need (in this case I have "Amount"). Please see figure below:
Basically, I like what I have, except that I don't need that last "Amount" column. If I hide it, the row heights stay the same (i.e., their height is determined by the number of rows in the hidden column). I'm guessing I'm missing something pretty fundamental here. Any ideas?
From http://consulting.risualblogs.com/blog/2013/06/28/tablix-body-must-contain-at-least-one-column-ssrs/ I found:
Right click the last column, ‘Column Visibility’, ‘Hide’
2: On the ‘Row Groups’ or ‘Column Groups’, right click the ‘Details’ grouping and press delete, but only delete the grouping, not the associated rows and just delete the data in the last column.
It sounds like you need to place your values in the header of the last group defined which in your case is "Assigned". And remove the detail column. This should allow you to aggregate your values outward. The Count column would be a second group header for the Assigned group.

SSRS format rows on report

I have a simple report that groups rows on PERSON then on DATE. I have these two groups in the grouping pane with the DETAILS GROUP below.
The trouble with this is that I end up with PERSON AND DATE appearing at the top of the first 2 columns on the left, but the rest of these two columns are just empty space which is wasting a lot of space on the left hand side of the page.
How can I format so that I keep the same grouping but have the PERSON and DATE appearing together on the first row only with all other data displayed below. This grouping would then show again as a single row whenever the group changes (which it does at the moment, but with loads of dead space on the page on the left hand side)
I've tried adding a 'column group' of PERSON AND DATE, but this ends up with the report being massive horizontally.
thanks
You could put your table control inside a list control and give them both the same datasource and grouping. Then put your PERSON and DATE fields in the list control and position them as you like. The table would only be there to display the detail and wouldn't have fields for PERSON and DATE.
Just Right click on the Grouping Column that was automatically added on the Tablix, and Delete that Column.
And, You have additional Two rows (Group header) above the Detail row : Person Group, and Date Group.
Simply, Select the Cells inside that Row, and Right click and Merge So, that you only have a Single Cell inside the Group Header. And, Write an expression inside that Cell according to your Group Header Requirement i.e. If you want to Show Person : PersonName in Group header of Person Group Then, Merge and Right click on that cell and Goto Expression then Type :
="Client : " + DataSet!Fields!FieldName
Do, the Same for the Another Date Group.
I hope you understoood.