How to preserve header rows using a Matrix and I don't mean preserve them at the page level.
What currently happens.
When I click the plus/minus on the row the row data is replaced by the next groups data.
So ..
MyRow-45-60-04
After I click on this row I get this ..
MyRow-SecondRow-15-30-100
As you can see upon opening the main row the data is replaced by "SecondRow" on the same line.
I need this to drop down and show both rows plus all child row. This also needs to work for all rows beneath the parent row.
MyRow-45-60-04
SecondRow-15-30-100
ThidRow-85-74-5
FourthRow-64-39-9
I worked out a solution based on a Microsoft SSRS page.
Right click on the group cell of the row and create a row above, inside the group. This should move the cell and its contents up one row. Do this for each row group by clicking in the box of the row name. You should see a row/column step for each row group.
FirstGroup
Second Group
ThirdGroup
As you can see they are separate on the screen but stepped.
Now grab the expression for SecondGroup and move it one cell backward. This will align it under FirstGroup. Do the same for ThirdGroup.
You now should have something like this
FirstGroup
SecondGroup
ThirdGroup
Looks good but they are now on top of each other. Adjust the padding for each group. It looks pretty good by tens. The default is 2 so just add a 1 to the first one making it 12. Then increment the rest as you see fit.
The next issue is the column total is still stuck on the bottom row due to the fact you created rows above it. Fix this by copying that expression into the cells above it. Do not remove lower expression. You will need one for each row.
Last step is to delete the empty columns to the right of the moved cells. Make sure you do not delete the cells with expressions in them. In this example you would be deleting 2 empty columns
Your table should now look like this.
FirstGroup | <exp> | <totals>
SecondGroup | <exp> | <totals>
ThirdGroup | <exp> | <totals>
This example solves 2 issues at once. It keeps the group level information in tact when expanded and it also give the matrix a clean look.
Related
We have created a drop down list for our managers to select from a list of techs in section 1 on sheet A. Once they select the tech in one cell, it automatically fills in section 2 on sheet A. If the tech is listed more than once, we have added a formula that will search the original list in section 1 and only list the tech once in the section 2. The manager goes to section 2 where the techs are listed only once to add additional information, for instance, check in and check out dates. If the manager or anyone goes back to the section 1 where this was entered and deletes, changes, etc., pretty much makes any adjustments to that list - it will adjust the order of text in section 2. We are fine with this but would like the data that was now entered in that row (if any) within section 2 to move with the first cell. Can anyone help with this?
Help resolve the above question.
I have a table, which is listing the name of benefits and it is only 1 column (just name of the benefit).
I'm wondering if there is any native function of BIRT Report Designer to produce rows not only vertically but also populate horizontally to 3-4 columns.
Something like below:
Benefits List
Benefit-1 Benefit-3 Benefit-5
Benefit-2 Benefit-4 Benefit-6
Thanks in advance for any advice.
Ok, I found a solution!
Under the following link there is a Eclipse Community Page Link recommendation about an additional computed column. Even though I don't have any computed column, the recommendation gave me an inspiration. Instead of creating an additional column, I used the rownum that is used generally to bind dataset parameter. For the table row, I created "visibility" condition that checks if the rownum + 1 is divided by 3. Depending on what is the result, it will be hidden or viewed:
Main Grid
It includes a grid with 2 rows and 3 columns. 1 row is merged to view the header. In each column of second row, the same table is placed with the same dataset.
Image Showing Main Structure
Select Table Row
Image Indicating Row Selection
Set the Visibility
Image Showing Details of Visibility Condition
The syntax basically means: "Do not show the row if the division result is not 1".
For the second column, you will need to compare with 2: (row.__rownum + 1) % 3 != 2 and the third column with 0: (row.__rownum + 1) % 3 != 0
Hope it'll be helpful for someone.
An more straightforward approach ist to use a List item instead of a Table item.
In the detail area of the List, create a Grid item of fixed width and height.
Put the content (e.g.) text into the grid's cells.
Important: Set the "display" property of the grid to "inline" instead of the default "block".
This way BIRT will put the grids from left to right until the line is full.
Then it will fill the next line (think of "display: inline" like adding words to a paragraph).
I have a report in SSRS that uses a matrix with static columns.
Here are the static columns:
After generating the report, the rows with same values end up being grouped together:
Is there any way to get rid of these groups? I'd rather the values be repeated for each row, so it looks more like an excel sheet.
Here is a better picture of my report design plus the row and column groups. These groups were created when I added them to the matrix and are not needed as far as what I can tell for my report:
As you are not doing any calcuations on hte row gorups, there is no need for them.
Delete all but one of the row groups by right-clicking the rowgroup in the Row Groups pane at the bottom of the screen and choosing Delete Group. If prompted, choose Delete Group Only, otherwise it will delete the associated columns too.
When you noly have one group left, right-click it and choose Group Properties and delete the group expression, this will change it to be a details style group.
Make sure the Hide Duplicate expression is back to default (blank or None) in case you changed it earlier.
That should work. I replicated a similar scenario to your and the above step did the trick.
You will probably also need to go back to your group properties and set the sorting options to ensure data is sorted correctly.
I have a table with several columns. The first column contains unique data, the 5th contains three buttons (Edit, Assignments and Delete).
I would like to use an XPath expression to locate on the edit button for one of the rows by indentifying the row using the unique data from column one (think that made sense).
I have built some expressions which will allow me to locate on the first column and edit button independantly as follows:
//td[text()='Managers']
and
tr[2]//button[text()='Edit']
The closest I can get to doing what I want is:
//td[text()='Managers'] | //tr[2]//button[text()='Edit']
...However this will locate on the data/button in column 1 AND 5 at the same time, what I want is just for the button in column 5.
The reason I want to do it this way, is so later I can pass in 'Managers' as a varaible in order to select the row (as its unique and meaningful data), and then press the edit button in a different column on that row.
Hope this makes sense!
Thanks
The question isn't very clear as posted, especially because I can't see any relevant part of the HTML. But if I understand this correctly, you can try to select the row that has Manager in it then get corresponding Edit button like so :
//tr[.//td='Managers']//button[.='Edit']
Does anyone know how to set a height and width on a subreport so that it forces the subreport to wrap into several columns?
The delimma: I have to show a legend in a limited amount of space in a page header above a tabular report, and I'd like to limit the height of the legend so that it wraps into multiple columns, as needed. For example, the subreport might be pulling from a dataset containing 8 items: 1-red, 2-blue, 3-purple, 4-green, 5-yellow, 6-orange, 7-brown, 8-black. I'd like for the subreport to be formatted into 3 columns/3 rows, showing the first 3 in the first column, the next 3 in the 2nd column, and the last 2 in the last column.
Currently, the subreport is setup to have 3 columns, and the size of the subreport area inside of the master report is set to the exact same size as the subreport, itself. However, when I run either of the two, I'm getting only 1 column, and the height of the subreport is expanding to fit everything into 1 column.
Does anyone know of a work-around for this?
I would structure my query so that there are 4 columns, handling the logic for what colors are in your legend in SQL. That way you can guarantee that you always have at least 4 columns. If you have less than 4 just pass in null or empty values. Then the 4 column table for your subreport would be pretty straight forward.
The only other option I could think is to use a single text box and build your string with carriage returns after every 4th color...but that could be rather messy as well and you would have less control with the formatting (since you're using 2005).
HTH
PS. If you need some help structuring your query I'll be happy to help with that if post some code.