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

Where to learn about "pretty"

Started by phpolicylady, 14 Feb 2014 12:21:40 PM

Previous topic - Next topic

phpolicylady

I am tasked with turning the default reports into something "pretty" for my boss. I have all kinds of information on my side - lots of hex codes, font styles, and some data visualization best practices.

What I can't figure out is how to apply those to the report studio in any kind of easy way. If I want to apply some specific sizing, spacing, transparency options, etc., but there are so many intricate levels, do I set the criteria for the block or the table the block is in? Maybe it's that I should change the settings for the chart item itself...What about if I want to apply similar padding or margins from one chart to another in the same report? I swear, I'm about to lose my flipping mind.

Currently, my solutions have been to fiddle with various properties until I'm ready to throw my computer across the room or to spend 5 hours tracking down the one class or width setting that is making the final report look stupid.

I'm a bright girl, and I can learn most programs with little struggle. Why is this so freaking confusing?!?!?

All the posts here seem to be about creating the queries correctly or making the drill-throughs send the right information to the next report. All of that is being done by others. I just have to make the whole thing look consistent and professional...without making myself crazy in the process.

Any ideas on resources I need?

CognosPaul

This is a vague question, so you're not going to get a very focused answer.

Getting reports to look perfect is as much an art as it is professional knowledge. Because much of the work revolves around a technical knowledge of databases, the visualization side tends to get neglected. It is possible to ensure reports maintain a standardized look-and-feel, but it does take some work and knowledge.

Learn CSS and general web design. That's must easier said than done. Different browsers interpret CSS differently, and older (and some modern) browsers don't even support many modern CSS rules. Different resolutions will also cause headaches. Something that looks perfect on your development machine may look like crap on an executive's desk.

Once you have that grounding, start developing a template for reports. You can modify the style on the report objects directly, but ultimately you'll want to transfer those styles to the global style sheets. This will ensure that any lists dragged into a report will immediately be styles correctly. Additionally, build a library of objects.

Layout component references will allow you to reference a named object in anther report. You can, for instance, build a report header object that contains the logo, report name, and any other standardized details you want. A report developer could then drag in a layout component reference, point to the library report and select the report header. Any changes made to that report header would immediately cascade to any reports using it.

Once you have developed your styles and components, build a template report. You can have the Cognos admin add that to the startup menu you see when you create a new report.

IE Developer Toolbar and Firebug are your friends. You can use them to instantly change styles on a rendered report. Simply modify until you find something you like, then make the same change in the report.

I strongly recommend reading "Information Dashboard Design" and "Now You See It", both by Stephen Few. Those will explain how to build dashboards and visualizations, and explain why they are effective.

phpolicylady

Thanks so much for your response.

I have a very rudimentary knowledge of CSS, but I own both of Mr. Few's excellent books. I rely on them completely!

I will have to learn more about IE Developer toolbar and Firebug - never heard of those...

I may need to create a template, but how do you do that without any queries or data to link to?

I have included a screen shot for some reference, but I'm not sure if there is any additional assistance that I need other than your suggestions already. Again, thank you for those!


Lynn

I've attached something I wrote a long time ago about using layout component references to create "save as" report templates. Maybe it will stimulate some ideas. If you change the component being referenced it will automatically flow through to all reports that use it. This is not the case with templates you create that appear in the new report dialog box, so I prefer component references.

My templates just have headers, footers, any legal disclaimers etc and there are ones for portrait or landscape orientation. Mine includes a dummy query off my package to render a simple one column list with the various classes defined. Report authors can use the style picker thing-a-ma-jig to apply to their objects and then delete the dummy.

Paul mentions CSS and you can add your own custom classes to the system style sheet. You can also create classes locally in your template report if you don't want to modify the system style sheet. If you do decide to change the system CSS, then I suggest you define entirely new classes rather than modifying the ones that are already there. Keep a copy of your new elements separate from the complete list or else future version upgrades will not be fun.

I know EXACTLY what you mean about how to best apply styles in the report. There are so many ways to achieve the same result that it is difficult to say what is best. I kind of think it comes down to personal preference a lot of the time. As a general rule I try to apply settings at the highest level possible so that a setting gets inherited by items further down in ancestry. For example, if you want to do something for all columns in a list, then set that property on the "List Columns" property sheet by using the ancestry button. If you later add a column it will inherit that property. If you instead apply the property to each list column individually, you will need to repeat that for each new column you add.

Hope this helps!! It is certainly a great topic that doesn't seem to get as much attention here as it could!

bdbits

You already have some solid advice. I wanted to add that I had the same goal for a reporting project I worked on and still maintain from time-to-time. The consistency you want is possible, but it is not something you will finish in one afternoon. Cognos may be confusing (God knows), but it is actually mostly consistent in how things are rendered. You can take advantage of this together with CSS and layout component references to achieve most if not all of the control you want, and be able to make global changes when required.

I agree with Lynn though, don't modify the system stylesheets. This will avoid headaches every time you upgrade. Or, place your custom classes at the end of the stylesheets so they can be easily copied to new versions when upgrades happen. (CSS has a last-declaration-wins rule, except for !important but I digress.)

Use the global stylesheets as a reference or starting point, and with some exploring with Firebug or IE/Chrome developer tools, you can figure out the classes being used for various report elements. I am not a fan of custom classes in reports to modify elements that already have Cognos CSS classes, but they have their place. Try to leverage these options Cognos gives you, but if that fails or becomes difficult, you can also use HTML items to span and style areas of the report (or even as an embeddable stylesheet). Put these snippets into a layout component "library", i.e. a report that just has the layout components defined for reference, then drop those on your reports as needed. It will look kind of ugly in Report Studio, but renders much nicer than it looks if you did it right. :)

Please feel free to ask questions here. Most of us have learned much from the expertise of the community here. And while it has its pitfalls, Cognos is really a pretty capable product. Good luck.

Lynn

Quote from: bdbits on 24 Feb 2014 02:53:00 PM
.....

I agree with Lynn

.....

That gets you an applause from me  ;D

Really great answer even apart from that. I didn't know about last-declaration-wins, so that is a handy thing I learned today! Thanks!