Cognos FM Best Practices
There are a number of best practices that should be followed when building models using Framework Manager:
- Never allow Cognos to create joins automatically when importing data sources. Cognos rarely chooses correctly and this inevitably creates future rework. Creating joins manually gives full control and avoids cardinality and join issues.
- Always separate your model into the following three namespaces.
Separating into three layers may seem difficult initially, but this
organization makes the model easier to maintain. If the underlying data
structures change, you will only need to reflect these changes in a
single location.
- Database Layer Namespace – This namespace simply contains all the query subjects brought in from your data source. No joins or renaming of query items occur in this layer. By leaving this layer untouched, future model changes will only need to be changed in this layer. All other layers can remain untouched.
- Logical Layer Namespace – Relationships between query subjects should be created in this layer. If query subjects need to be merged, the merge should be created here. Any model filters should be applied and query subjects and query items should be translated to business names in this layer. All query subjects in the Logical layer should reference back to the database layer.
- Presentation Layer Namespace – This layer contains shortcuts to the logical namespace and organizes the data for the business user.
- Assign query usage in the database layer. Understanding the query usage property and setting it in this layer will ensure that it is always set correctly throughout the rest of the model. Each query subject that is created from the base layer will inherit these properties.
- Never expose query subjects to the user that could result in cross product query. As an additional precaution, use the governor setting to deny cross product queries.
- Use the governor settings to limit the query execution time. This will prevent users from developing run-away queries that can impact database performance.
- Maintain a history of your models using a source control system. Framework Manager has direct connections to Visual SourceSafe and CVS- be sure to take advantage of this feature. CVS is an open source versioning system so cost should not be an excuse!.
- When modeling your data, avoid creating situations where multiple join paths or loop joins can occur. To prevent these situations, try aliasing the query subject multiple times to force a single path through the data.
- If possible, try to model in a star/snowflake schema. In a perfect world, this is done for you in the data model and the underlying ETL processes, but in reality we rarely get this lucky. It is possible to create a virtual star schema by merging query subjects to de-normalize data and creating new query subjects that contain only measures. The drawback of this method is that there can be significant performance impacts. Understanding the queries that are being created against the data is critical to making a good design decision here.
- Set security at the highest level allowable, starting with the package, then the object and if needed the data. Applying security at a high level and then drilling down to more detailed security levels will save maintenance and troubleshooting time. Keep security as simple as possible while still meeting the security requirements and you will thank yourself at the end of the day.
- Use data level security settings in Framework Manager only when absolutely necessary. Data security is a powerful feature but maintenance and troubleshooting with row level security become complex quickly. If you must use it, make sure to have it well documented for future developers and administrators. If you do choose to use data level security, be aware that it supercedes all other security settings in Cognos Connection.
- Check cardinality for accuracy and test cardinality to make sure it is behaving as expected. Avoid many to many relationships in your model. If you cannot avoid them, organize data so that the user is less likely to create a report with a many to many relationship.
- Name query subjects and query items using business terms. As simple as this seems, many organizations leave the original table and column names, creating confusion for the end user.
- Only publish data that is in the presentation layer, and only expose query subjects that are useful for the end user.
- Document the model. This is another simple task that is often overlooked,or more likely skipped to save time. Even if the model developer will be maintaining the model, six months from deployment the developer will not remember all the details of the model. Proper documentation expedites making future changes and fixing bugs Document each layer, the joins associated, and any calculations or merges that were done.
This information is impressive; I am inspired with your post writing style & how continuously you describe this topic. After reading your post, thanks for taking the time to discuss this, I feel happy about it and I love learning more about this topic.
ReplyDeleteRegards,
cognos Training in Chennai|Cognos Course in Chennai
Well done :)
ReplyDeleteSenior Cognos Developer
essamgad2000@gmail.com
Adana
ReplyDeleteElazığ
Kayseri
Şırnak
Antep
MT1İP
Erzurum
ReplyDeleteElazığ
Konya
Zonguldak
Eskişehir
İWT
tekirdağ
ReplyDeletetokat
elazığ
adıyaman
çankırı
6RWK
6B1CC
ReplyDeleteİzmir Evden Eve Nakliyat
Sakarya Evden Eve Nakliyat
Çerkezköy Evden Eve Nakliyat
Silivri Parke Ustası
Batman Evden Eve Nakliyat
B4CC5
ReplyDeleteÇerkezköy Yol Yardım
Silivri Cam Balkon
Çerkezköy Boya Ustası
Çankaya Parke Ustası
Kocaeli Şehirler Arası Nakliyat
Kilis Parça Eşya Taşıma
Kilis Evden Eve Nakliyat
Malatya Şehirler Arası Nakliyat
Balıkesir Şehir İçi Nakliyat
C6744
ReplyDeleteRize Evden Eve Nakliyat
Şırnak Şehirler Arası Nakliyat
Afyon Parça Eşya Taşıma
Bursa Şehir İçi Nakliyat
Kars Şehir İçi Nakliyat
Eskişehir Şehir İçi Nakliyat
Tunceli Şehirler Arası Nakliyat
Tokat Parça Eşya Taşıma
Kayseri Parça Eşya Taşıma
94134
ReplyDeleteorder peptides
deca durabolin
order sarms
order trenbolone enanthate
buy clenbuterol
order testosterone enanthate
steroids for sale
buy peptides
dianabol methandienone
1170E
ReplyDeleteSohbet
Threads Yeniden Paylaş Satın Al
Mexc Borsası Kimin
Bitcoin Üretme
Wabi Coin Hangi Borsada
Bitcoin Nedir
Twitch İzlenme Satın Al
Onlyfans Takipçi Hilesi
Coin Kazanma Siteleri
92763
ReplyDeleteSoundcloud Beğeni Satın Al
Periscope Beğeni Satın Al
Dlive Takipçi Hilesi
Yeni Çıkacak Coin Nasıl Alınır
Tumblr Beğeni Satın Al
Pinterest Takipçi Hilesi
Linkedin Takipçi Hilesi
Sohbet
Twitter Takipçi Satın Al
01FC2
ReplyDeletezkswap
pancakeswap
satoshivm
layerzero
pudgy penguins
DefiLlama
yearn finance
thorchain
uniswap