Tablix: blank cells when adding new child column groups - reporting-services

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.

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.

SSRS: Position Matrix Cell at Intermediate Column Grouping Level, and also inside a Row Group

I have an SSRS matrix that has one level of row groups and two levels of column groups. I have a textbox that is positioned inside one of the column groups, and outside of the other one, which is what I want. But I also want this textbox to be positioned inside of a row group.
Basically, I would like #1 in the screenshot below to have a row group associated with it so that #2 is inside that row group.
My goal is to conditionally set the row-visibility for the first row. But "row visibility..." is greyed out. As far as I can tell, the way to get the option is to make sure it's inside of a row group.
The reason I want to set visibility is because the user has the option to show or hide charts, and separately to show or hide data. If the user selects both charts and data, then I don't need the first row because the label for the data can describe the chart as well. But if the user only selects charts, then I need that first row.
If there's another approach outside of minimizing the row height, I'm all ears.
Though I'm still interested in whether this puzzle is even solvable, and if not, why not.
Steps to Repeat
A version of this problem can be repeated as follows:
Insert a new matrix in a report
Just fill in dummy values, such as a blank space, into the "RowGroup1" and "ColumnGroup" "Group On" expressions.
Add a parent group to the column group, and similarly just give it a dummy grouping expression.
Delete the second row of the matrix, via "Delete Rows Only"
You now have a matrix with the same problem. Namely, get the second cell of the first row, to be inside of a row grouping.

Create a Header Row in SSRS

I am trying to create a header row for a matrix in my SSRS report. Currently my matrix is configured as the following:
If I right+click to add a new row, it will insert a row above but I cannot merge the entire row of cells to form a single row, the grouping columns stay separate:
My work-around has been to add a text box above the matrix, but will not keep the the rows together in a page break:
Is it possible to add the header row? And if so, what would be a good way to accomplish this task?
I had the same issue! I wish they would let you merge across the row header; or add a new region of matrix called "title" .
My tablix also had dynamic columns, so I needed the width of the box on the top to expand and collapse with the rest of the table.
There are two ways you can handle it (that I know of)
1. Create a "parent" list object with two rows and insert the table in the second row
2. Put all the columns to the right of the row header
To solve my problem I tried both. First, I added the list with one column and two rows and I copied the entire table into the second row. The first row of the outer list is now centered and spans the entire table. It was messy because I had dynamic columns with a toggle for visibility. The outer list had to have columns that lined up with the visibility set to the same toggle. It was a messy work around because of that.
I decided to try the second method above and insert new columns on the other side of the row header.
The challenge is that row header group labels will repeat for each row... in your example RoleID would repeat down each detail row. I created an expression to only show when it was the first row of the group.
=iif(RowNumber("roleid_group") = 1,
max(Fields!roleID.Value,"roleid_group"),
"")
I used an expression to only show the border when it was the last row in the group:
=iif(RowNumber("roleid_group") = countrows("roleid_group"),"Solid","None")
This gives the illusion of a grouped row. Don't delete the row header columns (column 1 and 2) until you get it working because its hard to add them back.
Careful: This method though doesn't work well if the text of the row title needs to wrap. (The first row of the group will be wider --row height is set to can grow.)
If there is another way I would love to know. These are both somewhat tricky but get the job done.

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.