I am using Cognos 10 report studio. I need to group a report on a Hyperlink column... or add a hyperlink to the Grouped column without redundantly displaying any data.
I have a Grouped Column, TicketNo. Each TicketNo has multiple lines. I only want the TicketNo (and my Hyperlink) to appear once per Ticket.
Edit: With ElectricLlama's help, I solved the issue. Here is the steps I went through.
Initial Attempt:
I originally used an HTML Text Item so that I could add a custom link which did the 'Open in New Page' automatically. I Unlocked the Report, then I put a 1 column x 2 row table inside the TicketNo column to arrange the two items together in the same Report Column. This works great in HTML reports:
The HTML Item does not show up in PDF output versions of the report:
I need a version of this which works in PDF. For that I tried the 'Hyperlink' Column instead of HTML Item:
The result creates a Hyperlink that works in PDF:
There are multiple redundant links per Ticket. I only want One link per ticket, like we had with the Hyperlink Column. I tried removing the TicketNo column and then Grouping on the Hyperlink column, but Hyperlink columns cannot be grouped on.
I unlocked the report again (so I could move items around inside the table cells) and moved the Hyperlink into the TicketNo Column. (make sure you select the inner box in the hyperlink when dragging):
And achieved a usable result in PDF:
The final issue was, I only want to see the Hyperlink. Seeing the TicketNo and the TicketNo named hyperlink together seemed redundant. I clicked inside the TicketNo item's Table Cell and selected 'Box Type' -> 'None'.
This hid the TicketNo field, but its Grouping is still in effect:
The result in PDF was exactly what I was looking for:
The Hyperlink appears to be grouped on!
Related
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.
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
I have a simple customer history report that has the following elements:
Header that contains the customer name and customer ID pulled from 1 of 2 datasets
Rectangle that contains a list which provides some details order items like date ordered date shipped invoice number and such.
Sub report placed within the list area that contains table with order details.
This report functions fine if I call one customer at a time. I need to print multiple customers at a time so I have multiple values for my parameter. When I try to call more then one customer I get the following results:
The header prints with the first customer data and shows it on all pages. The list renders as designed but pulls all customers data so it appears there is just one customer.
What I need is a page break for each customer. When I new page starts I need the customer name to be shown on all of the pages that group will print. Placing the name at the top of the first page only does not work for my situation. I have tried placing pages breaks after the list. I have placed page breaks after the containing rectangle and I have created another rectangle and nested the original rectangle within this new parent with a page break on the new parent but none of these will work. I have also tried placing the customer info in the header but all I get is the information from the first record in the dataset.
This seems like a simple report but I just cannot seem to get the page break to fire when the customer ID changes.
In the properties of your List object, go to PageBreak, and set BreakLocation to "End".
Make sure Disabled is set to "False".
I was able to solve my problem by using the information at these 2 sites
Solved the problem of getting the page to break after the list
This allowed me to have a page break for each customer. It placed another row in the tablix that contained the group on field, which in my case was the name. I had to make a modification to hide this new row so I changed it's width to a very small space and set it property to hidden. I then placed a text box above my list to show the name there.
Solved name at top of every page in the group
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.
I have a situation where i have to display four reports based on checkboxes. So user can select different combination from four reports.
My problem is page breaks. I have tried different options (see below) from which two options (option 1 and 2) does not give page breaks at all whether option 3 gives page breaks for each tablix regardless of you do not want to see that report. Report is giving empty page for each tablix no matter there is no data in that tablix to be displayed.
With option 3 if i select all reports to show then everything is perfect.
I have tried these options
Option 1 (page break does not work)
Main Tablix -> each row : all subreports within rectangle within each row of tablix
option 2 (page break does not work)
Main Tablix -> each row -> Another tablix with group by ID within each row of tablix and then subreport inside each tablix. And I applied page break end on each tablix.
option 3 (page break works but gives empty page for non selected reports)
A List group by ID -> within a single row of this list I have places four tablix group by ID for each subreport.
Option 3 works but gives empty page break for those reports which are not selected. For example from Four reports if you select last two reports to display then you will get two empty pages in the beginning of report and third report on third and fourth report on fourth page which is correct. I have tried hiding tablix using table hidden and group properties hidden but still getting page breaks.
Any help will be much appreciated.
I have resolved this issue. For those who are struggling with same kind of situation, here is my work around.
I placed one list box and then four tables in a row and i placed subreports within these tables. i didn't apply any page break here. I am only showing and hiding tables based on report selection here.
Trick is within subreports.
As there were lots of tables and groupings in each report so i placed one table at the end of the each subreport.
This table should only have one cell. I removed header and 2 extra columns which were not required. Select dataset for this table. I did not want to pass dummy empty dataset so I selected my dataset but I created grouping on a parameter which I was passing from parent report and it has value 1. So now this table will only display 1 empty row. Reduce the height of the table. Plus I removed the border of textbox inside the cell. I checked 'Page break at end' option. In the Hidden expression I used following code which checks if there is any report which is visible after this (current) report. If yes then do not hide this table mean you want page break otherwise hide it mean no page break.
=iif(Parameters!AddReport_2.Value,false
,iif(Parameters!AddReport_3.Value,false
,iif(Parameters!AddReport_4.Value,false
,true)))
This solution works for me.
I would love to hear for a better solution.