Cognos Best Practices Done Sep 13

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 10

Cognos Best Practices

© 2013, Cognizant Technology Solutions. All Rights Reserved.


The information contained herein is subject to change without notice.
Best Practices…….. Meta Data Modeling
Meta Data Modeling Best Practices

Model should have a layered structure with the following tiers


• Data base layer
• Preparation Layer
• Dimensional Layer
• Presentation Layer
Business layer should have Shortcuts of objects in the Dimensional layer.
Shortcuts should be used wherever possible, instead of copies.
While publishing the package only the Business layer should be made visible
Reusable Filters and Prompts may be created in the model in the preparation layer
Cardinality describes the association between two query subjects and is set at each end of the relationship.
It should be ensured that the cardinality addresses business needs. Following are the considerations to
take while defining cardinality:
• Dimension – Dimension (During a SnowFlake) – Could be (1..1 for a inner join or 0..1 for a outer join)
• Dimensions - Fact (For a inner join specify only 1..n (1 on the dimension table side) if any of the
reports involve measures from the more than one Fact Table, specifying 1..1 does not form the correct
query when the report involves more than one fact table.
• For outer joins, 0..n may be used
Specify user and administrative access to the package.
Use linking & segmentation for concurrent meta data model development involving more than one
developer

© 2013, Cognizant Technology Solutions. Confidential


Best Practices…….. Meta Data Modeling
Meta Data Modeling Best Practices

Only the required tables and DB objects should be imported into the model.
Avoid having Orphan Tables in the data base layer
Complicated calculations should be done at the data base side
Many to Many relationships should be avoided as they generate stitched queries. Instead Star Schema
grouping should be used.
All Parallel relationships should be examined and the unnecessary ones should be resolved.
Recursive relationship should be converted to fixed hierarchy using shortcuts.
In a fact table query subject, exposing any query items that are not facts (measures with an aggregation
rule) should be avoided. If necessary, they should be exposed as a separate model query subject that looks
like a dimension.
Whenever possible reduce the number of query subjects. Represent each discrete business concept with a
single model query subject.
If two fact tables have conformed dimensions, but different levels of granularity for that dimension, then for
each fact table only the relevant levels should be included.
Only the objects that will be reported on by users should be published in a package.
Surrogate keys should be hidden while publishing a package.

© 2013, Cognizant Technology Solutions. Confidential


Best Practices…….. Security
Security Best Practices

Define Data level security in the ‘Data base layer’ in the cognos model

Fetch the parameter values for the security filters from a DB table instead of hard coding in the model. This
provides more flexibility in change management

Maintain identical user group names in Cognos Namespace & External Authentication source

Use Parameter Maps for dynamic data source querying instead of creating individual packages for each
data source

Temporary files should also be encrypted by using Cognos Configuration.

Restrict access to the administrative functions in Cognos connection. By default, the ‘Everyone’ group is a
member of the ‘System Administrators’ role.

Groups and / or roles be created within the Cognos namespace, and these groups and roles be used to
secure the content objects.

© 2013, Cognizant Technology Solutions. Confidential


Best Practices…….. Deployment Topology

Deployment Topology Best Practices


Maintain a Development, BETA and Production environment

All Development activities to be done in Dev environment, UAT be done in BETA environment & Users
access the production environment.

It should be ensured that copies of reports in BETA & Production environment are same for ease of
maintenance & back up

Production & BETA should have same hardware and configuration settings

Developers should have access only to the development environment

BETA & Production should be maintained by Cognos administrator

Deployment of Report objects into BETA & Production should be done by cognos administrator

For bulk deployment of objects , Cognos deployment service may be used, manual depoyment may be
used when the number of objects to be deployed is less.

© 2013, Cognizant Technology Solutions. Confidential


Best Practices…….. Cognos Administration
Cognos Administration Best Practices

• During Cognos upgrade take a complete back up of the content store

• Configure the required audit settings and have audit reports in pace to measure usage of cognos
environment

• Set the default font to Arial or some light weight font, ‘Andale’ which is the default font consumes 216MB of
memory which may potentially cause performance issues in reports

• Maintain copies of Configuration settings using the ‘Save configuration’ option available in cognos
configuration

• Maintain the same configuration for the Dev,BETA & Production environments for consistency

• Provide description & screen tips for each export & Import deployment archives for easy maintenance &
future reference

• Have Load balancing & fail over mechanism in BETA & Production environments

• Set up server CPU usage, memory usage & exception alerting mechanism in production environment

• During Cognos version upgrade, upgrade the dev environment first ,make an impact analysis on reporting
objects due to upgrade to ensure smooth flow to production environment

© 2013, Cognizant Technology Solutions. Confidential


Best Practices…….. Versioning
Version Control Best Practices

Configure the Framework manager with version control software to enable maintaining versions of models
in development environment

Enable ‘Versioning’ while publishing packages and do not overwrite packages in development environment

Developers to ‘Check-in’/’Check-out’ & provide change comments for every change made in the model

BETA & Production environment to have only a single copy of packages & reports

© 2013, Cognizant Technology Solutions. Confidential


Best Practices…….. Report Development
Report Development Best Practices

Local processing should be avoided under normal circumstances and should be enabled only while
processing queries with outer joins.
Tabular SQL should be avoided unless absolutely needed.
A report template should be created with the standard layout and should be used for creating all the reports.

Templates can be set in such a way that they are prompted at the start of a new report creation.

The Page header and Page footer section should be used to put common items like titles and links to other
reports.
A combination of tables and blocks should be used to create reports .

© 2013, Cognizant Technology Solutions. Confidential


Best Practices…….. Report Development
Report Development Best Practices

The format properties should be set at the highest level possible.


Padding and Margins should be used to create white spaces.
Fixed object sizing should not be used unless absolutely necessary.
Percentage sizing should be used to a maximum extent.
All amount fields should be limited to 2 decimals (depends on the client’s requirement).
Layout Component Reference should be used to achieve reusability of report objects.
Conditional Block list should be used to display multiple data items in the same cell. In case of hiding the
objects, the Box property Box type=none can be used.
The White space=No wrap can be used to avoid the wrapping of text.
Html scripts, with proper commenting could be used to achieve additional functionalities.
The column width should be set to fixed size wherever possible, as the dynamic sizing runs the query twice.
Simple CASE statements run faster than Search CASE Statements.
Place Calculations strategically. Rather than including a calculation in a CASE statement in multiple places
do it once in a separate field and then refer to it multiple times.
Database functions are processed quicker than the Cognos counterpart functions.
Classes can be created or existing classes could be modified to format objects across a report. This helps
in reusability of a desired action.
Report level joins should be avoided

© 2013, Cognizant Technology Solutions. Confidential


Thank you

© 2013,
2007, Cognizant Technology Solutions. Confidential
10

You might also like