SSRS make parent group heading show for all child groups - reporting-services

I have an SSRS report with the following row groupings:
[Grandparent]
[Parent]
[Details]
Currently when the [Parent] group changes value, the [Grandparent] row will disappear in the report unless it's in a new [Grandparent] group. I would like for the [Grandparent] row to always show even when it's the same [Grandparent] but different [Parent]. Is there a way to do this in SSRS?

Why not add another row above [Parent] group but inside the Parent group and get it to display the Grandparent. If the rows repeat themselves when the group changes.. get around it by having a row visibility on the bottom one to check if the values are the same and hide it. something like
=iif(Previous(Fields!firstgrandparentvalue.Value)= Fields!secondgrandparentvalue.Value, true,false)

Related

Moving Row/Column Groups and Placing Adjacent Row Groups on Same Row

I am working on the following report and need some help configuring groups.
I am trying to achieve two things:
I want to add an adjacent row group (for CollateralType) to PortfolioGroupName in the cell where CollateralType is. However, whenever I right click on the PortfolioGroupName to add an adjacent group, my only options are to add an adjacent row above or below. How can I add the adjacent row group to be on the same row as PortfolioGroupName?
I also need the Role column group to encompass the entire table (minus the EmpName column). Currently the group lies over the cell, but I can neither move it nor delete it and get the group to encompass the whole table. How can I fix this grouping?
An adjacent row group in the same row would need to be either a child group or a parent group, the options to add these will be showing.
You will need to copy the contents of and delete the columns to the left of the Role column group, insert columns in the role group and add the contents back with paste if possible or manually.

Hiding a row if text box is hidden

I have a report that lists parts required for a job, and then within each part it has rows that show locations and quantities of parts on-hand. The main list has a header (part number, description, quantity) which is only shown once at the top because it is not within the grouping. However, the second header (on-hand quantity, location) is within the grouping so it repeats. I would like it to only show once.
I have tried using the hide duplicates property for the header text boxes, but this still leaves blank rows. I have also tried setting the row visibility using a comparison between ReportItem!lblOnHand.Value and Previous(ReportItem!lblOnHand.Value) but this gives me an aggregate error.
This is what the report is displaying now:
You need to set the row visibility rather than the individual text boxes. Right-click the row header to access the setting..
You should (untested) be able to use the same logic as you have now. If this does not work then you will need to test if the group is the first group and use that in the expression, something like...
=Fields!Partnumber.Value <> FIRST(Fields!Partnumber.Value, "myGroupOrDatasetNameHere")
The above would hide thew row if the part number in the current context is not the same as the first part number in the group or dataset name specified.

SSRS Repeat table for each record of results

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.

Tablix: blank cells when adding new child column groups

I have a dataset with the following fields:
SampleHour
Value
MeasureType
Line
Header
AggregationON
I've created a tablix with a row group on SampleHour and I'd like to have two adjacent column groups, each having the same grouping hierarchy as follows (from parent to child):
AggregationON > Line > Header > MeasureType
Well when I define the first column grouping structure all works fine: I add a parent column group on AggregationON, then a child group on Line pointing to the AggregationON group and so on.
Then I try to create the second column grouping structure and I proceed like this: I point to AggregationON in the first column group and choose "Add Group->Adjacent Right" and specify AggregationON as the "Group By" parameter. The newly created column group header AggregationON appears just on the same row as the previous AggregationON header as expected.
Then I point to the newly created AggregationON and choose "Add Group->Child Group" and set Line in the "Group By" parameter: this time the Line group header cause tablix to add a new row. On the left of the newly created header appears a blank new row that is impossible to delete.
If I go on creating child groups to build the whole column group structure, each new column child group will add a blank row on the left. That leads to an unacceptable table header with a mix of texts and blank cells like in the attached screenshot. Any suggestion?
(Creating two column groups with the same structure is due to the need to filter out results differently in the two groupings)
When you create the second column group use the "Column Groups" section on the bottom pane. Click the arrow on the first parent group and select Add Group -> Adjacent After.
Then add the child groups normally and you'll end up with something like this:
Now all you have to do is move the Child1 and Child2 to the rows below, and delete the 2 new rows choosing the option Delete rows only and you will have the two groups side by side.
Other way to tackle this problem is to have only one group (since in your case the grouping rules are the same) just create a parent group that groups based on the filters you want to apply:
Group on: =IIf(<filter expression>, "Group1", "Group2")
This is potentially harder because if you have different rules for each group, you have to put them on every single textbox under this new parent group. But at least it should get the result you want.
I had a similar issue. What worked for me was to use "Merge Cells"
Group1....................Group2......................Group3
Group1a.....................................................
.........................Group2a............................
.....................................................Group3a
In example above Group1a merges with blank cells below, Group2a merges with blank above and below, and Group3a merges with blank cells above. Then just resize the row.

SSRS 2005 - How to tell when Group has changed

Is there a way to determine when a Grouping has changed in SSRS 2005?
For example, if you are grouping on OrderID, displaying the Order Header info, and the details are the Order_Items etc... Is there an event to check for to tell when the "new" OrderID has appeared?
Are you able to somehow compare the current OrderID to the previous OrderID in the group?
I have multiple groupings in a report, and this group in particular is the 3rd group, and on the Grouping change, I want to make the border of the Group Header solid. There are certain occasions depending how the groups change, the boarder is left as "None" and it looks odd in the report.
Edit: (Here is an Image Example)
I have managed it so far by adding an additional row to another grouping, and making the row height .03125. It gives off the desired appearance, but I thought there was a way to tell when the grouping changed. Maybe grouping row number = 0 or something?
Theres not really an event, but you should know that when you create a group you can include a group footer within the group. The groups details ends once it hits the footer of the group.
I personally like to use this to create row border style (bottom) with a line to get a nice effect allowing me to see when the group is complete.
Something to this effect: