As the number of reports generated by a company continues to grow, it becomes harder to maintain a uniform look and feel across them all. Business users may start to complain that newly released reports are starting to look significantly different than the old ones, and report developers will often find themselves stuck with doing repetitive report formatting tasks, when their time can be better spent producing the content.
Let’s take a typical Cognos BI reporting requirement for example. Your team has been asked to create multiple reports which will follow a specific format— as is often the case, you would need to show the company logo in the page header, and set margins for the body. While it is true that this is a straightforward and fairly easy requirement, it becomes a development nuisance when you start working with more and more reports. Just imagine having a collection of 100 or more reports; a day before report submission, the business user asks you to add some caveats in the footer and adjust the margins. How would you set about applying such changes in time for tomorrow’s submission? Going through your hundred plus reports and updating every single one is an absolute nightmare!
Fortunately, there is a Cognos Report Studio feature you can use that would definitely be a life-saver :)
Layout Component References Defined
A layout component reference is by far one of the most underrated and underutilized built-in features in Cognos. It allows you to create reusable layout objects within reports and share those objects in other reports. Think of it as a library where you would store your objects and define attributes for those objects e.g. type, color, size, and, in some cases, behavior. You and your team could save a lot of time and effort by leveraging this feature.
The implementation is quite simple.
Let’s begin with customizing our own layout objects. I’ve created a simple layout containing a header with company name and footer with a placeholder for notes and page number.
One important thing to remember when using layout component references is you have to give your reusable objects a meaningful name -- following the Cognos’ [‘objectType’+ ‘objectName’] naming convention. Apart from it being considered as best practice to name your report objects as you go, this will make it easier for you to know exactly which object you are referring to in other reports. Trust me, this will all start to make sense when you are maintaining numerous objects in your reports!
Now click the object then click ancestor button to select the parent. In the properties pane, set the Name of the object to ‘blkHeader’. Save this report and name it Layout Component References.
With our layout objects in place, we can now start setting our references. For starters, let’s open a new report, and then drag a Layout Component Reference object from the toolbox.
Choose another location and locate Layout Component Reference Report. Notice the list of available components shown in the box. These are the objects you can reference and reuse in your report. Unnamed objects will not appear here.
Alternatively you can choose the same location option which allows you to reference objects in the same report. Very useful if you only need to use an object multiple times in one report.
Once the references are set up, it’s time to specify how you would like to store your objects. Here, we are given two options:
Copy – stores a stand-alone copy of the object. It does not automatically update when source object is modified.
Reference – stores a reference or pointer of the object. Using this option automatically updates all your reference objects whenever changes are made in the source object. We will use this option in our example.
Now let’s go on and add some notes and change the name of the report in our header. To do this, click on the overrides property then select the object you wish to override.
Notice how we were able to change our child objects to something different. In our example, we changed the child texts within the block. However, we are not limited to changing to an object of the same type. We can replace child objects with any other object.
At this point, we’ve covered the basics of layout component referencing. In our scenario, what used to be a seemingly laborious undertaking can now be accomplished with merely a few clicks of a button. Just a free bit of advice: this is probably something that you would like to do at the onset of your report development. This will save you from having to convert your reports to make use of this feature for future enhancements.
Hopefully layout component references are something that you find beneficial to add to your Cognos report development practice. For more information on how to implement references into your reports using Cognos Report Studio, please get in touch with one of our offices below:
|Australia||Singapore, Philippines, Thailand||United States|
|Cornerstone||PMsquare | A Cornerstone Group Company||PMsquare|
|Call +61 1300 840 048 or
email Piers Wilson
|Call +65 6635 1700 or
email Carsten Brandt
| Call +1 (630) 607 0570 or
email Chris Loechel