Tuesday, March 2, 2010

Performance Tuning of Cognos Reports

These are some general guidelines we use at my work:

1. For your queries, try to set the Processing property to Database Only. It runs faster than Limited Local.

2. Try to use fixed column widths where possible. We have found that dynamic sizing sometimes runs queries twice--once to find the largest data content, then again to dynamically size the columns based on the largest data content.

3. Try to move as many calculations as possible into the model so your query doesn't have to do them for every row of data pulled.

4. Try to use as many filters as possible up front to minimize the data you must pull in and process.

5. Simple CASE statements run faster than Search CASE statements.

6. Place calculations strategically. Rather than include a calculation in a CASE statement in multiple places, do it once in a separate field and then refer to it in multiple places. This minimizes processing time.

7. Create logical and useful index fields and logical table structures to make searching and pulling the data as efficient as possible.

8. When sorting a field, sort it either at the tabular model level OR the query level but NOT both.

9. Where possible, use database functions for calculations instead of their equivalent Cognos functions. See #1.

10. When using direct facts in the report do not create shortcuts, use
directly in facts under Qurey.

11. Cognos configuration by default font is Times new roman
the best practices are saying change the font to Arial - it will use less memory.



Hope that helps get you started thinking in the right direction.