If you are unable to create a new account, please email support@bspsoftware.com

 

News:

MetaManager - Administrative Tools for IBM Cognos
Pricing starting at $2,100
Download Now    Learn More

Main Menu

How to reference multiple reports in a new report ??

Started by slim, 08 May 2013 12:46:47 PM

Previous topic - Next topic

slim

Hi Cognos Friends,

I am using Cognos Report Studio 8.4

I have 2 reports which have 3 pages each, each report is complex and have lots of queries.

I want to create a new report which would reference those 2 reports. So whenever I run this new report, it should display 3 pages from 1st report and 3 pages from 2nd report. Hence, it would look like one report with 6 pages. This will make the report look clean and my customers would have to run only 1 report (the new one).

How can I achieve this in Report Studio 8.4 ?

Thanks in advance,
Slim

Lynn

There is a separate board for Cognos 8.

You could create a job that would run your two reports and produce two separate outputs so your users would only need to run one thing. Otherwise I think you need to integrate the two reports into a single report specification to get what you are looking for.

Maybe the SDK would offer more options.

I would be interested if anyone else has a solution for this.

DSR

You can design another report with both the reports content and use layout component reference for all the objects in both the reports in your main report presenting to user. It will work to generate a single report using multiple reports.

Give it a try. What kind of objects you have in your two main reports?.

Regards,
DSR

sbelli

I actually just did this (and now need help with the drill through reports, which I've asked in another thread).

Are the reports spanning multiple pages just in runtime? I ask because I was able to do it just by copying and pasting the entire reports onto separate pages in Cognos. Of course, you then have to copy and paste all of the queries (making sure the queries are named different for each report). The only small issue with this is that if the user is running it directly in Cognos in real time, the first report will run then when you click "Page Down" it will actually run the next report before displaying it. If it's run in batch, the reports will run together and be sent as one complete report so it would be transparent to the user.

My reports also were conditional based on what the user put in on the prompt page so I had to use the Render Variable which used one of the prompts to determine which of the reports should be run/displayed.

slim

Thanks for all your suggestions :)

Lynn and other cognoise friends,
I already created the final report integrating both the reports into one, I actually did this even before i posted my topic here. But thats not the solution i was looking for.

As I mentioned, both the reports are complex and it uses many queries with complex logics within each. What I wanted was to create a final report(master report) and just referece those 2 reports as 'child reports'. In a sense, the pages in final reports would just be references to those two report's corresponding pages.

By doing this, It would help me to isolate each report's page in case I need to tweak/update it and when I save the report, the change would be reflected in the final report.

I mentioned only 2 reports for simplicity, in real there could be 10 -15 different reports with complex logic but related to the same project. In that sceanario, isolating an issue in the final report with all the queries from all those 10-15 reports would be time consuming and confusing as well. So, I was thinking of building a master report, which would just reference the report pages from the child reports. So in presentation layer, the user dont have to go through the complexity as well as run multiple reports, they would just need to run one master report (the page numbers would also be sequential). Moreover, when we (as report builders) have to update/upgrate anything in the final report,  then we would do that in individual child report and save it and the change would be reflected in the master report.

FYI - all my reports needs to be scheduled, so there are no prompt pages, only changing filters are date ranges (Last 24 Months, FY2012, Last 6 months, Last Month etc), which i calculate using getdate() function. Also remember that my organization is still in Cognos 8.4

All,
Please share your view, ideas, suggestions regarding the sceanario that I described above.

Many thanks,
Slim

Lynn

Quote from: DSR on 13 May 2013 01:37:20 PM
You can design another report with both the reports content and use layout component reference for all the objects in both the reports in your main report presenting to user. It will work to generate a single report using multiple reports.

Give it a try. What kind of objects you have in your two main reports?.

Regards,
DSR

Layout component references will not work unless the underlying query gets copied over to the new report.

DSR

Yes, you are correct. But instead of redesigning both the reports into once, I have suggested Layout Component reference.

Lynn

If the goal is to simplify maintenance then I'm not sure using a layout component reference achieves that.

I suppose it is a matter of preference, but consider this scenario:

Report A has Query1 and Query2
Report B has Query3 and Query4

If you want to create Report C that uses layout component references pointing to data containers in A and B then you would need to copy all four queries into Report C in order for the layout component references to work. Now you have *two* copies of each query to maintain. The effort saved would only be applicable to changes in the layout, never the query.

Now let's say a change is required for Query3. If it only gets changed in Report B then Report C is now incorrect. Or if it only gets changed in Report C then Report B is incorrect. You've actually increased your maintenance effort in this scenario and introduced a situation where conflicting results might be consumed by your users (if both the detail and consolidated pieces are available to them).

Further, if you are in Report C and try to use the "find" tool in order to determine where a particular query is referenced you won't be able to tell which layout component is relying on that query. It will say "Finished searching report. No matches found." This is a powerful diagnostic tool when dealing with complex reports such as the OP describes and the layout component reference approach eliminates it from the developer's arsenal.

If someone goes with this type of approach I'd suggest creating a documentation page in the report specification that is set to never render. It would be beneficial to have detailed documentation to ensure that the report could be maintained by anyone in the group and not just understandable to the original developer.


bdbits

You could definitely do this with a custom SDK app, which will even let you pull out just certain parts of a report if you want using the APIs, and I think through REST or web services as well. I am not sure there is an out-of-the-box way to do it, though.

The layout component reference was a good idea, but I think Lynn is right in that the maintenance due to multiple report queries really drags down the viability as a solution.

It seems adding a good way to do this within Cognos would be a nice feature for IBM to consider. :-)

slim

It seems IBM finally heard you bdbits  :D

That feature is called "Report Booklets" and is available in Cognos BI 10.2.1.1

I hope this information is of helpful to our forum friends. This "booklets" feature will be very useful to large crowd of Cognos Report developers, I'm sure about that.

regards,
Slim