REPOSITORY:
- create aliases for all tables and prefix their names with a text that reflects the type of table
Ex: Dim_Product, Fact_Sales
- Create physical diagram using aliases, not the Imported ones
- Avoid Circular Joins
Circular join have big impact on the data integrity. All ways avoid circular joins by creating aliases
- Connection Pool Configuration
- Use native database drivers instead of ODBC
- Set the max no of connection high enough. Recommendation is 10-20% concurrent users multiplied by no of queries per dashboard
- Use separate connection pool for initialization blocks
- Enable query limits to avoid the slow down the BI Server and the database with bad report that extracts millions of records.
- In BMM layer create Logical star schemas only. No snow flake
- Use separate logical dimension table for each dimension. Don’t merge tables. This is same for the fact table also
- Assigning business column as dimension primary key
- Rename the logical column names to business names
- Remove un used columns from the BMM layer
- Every fact logical should have aggregation rule set
- The primary key of each level must be Unique
- The primary key of the lowest level of the hierarchy must always be the primary key of the logical table
- Always create a dimension hierarchy for all dimension tables, even if you have only one level in the dimension
- Always specify the number of elements per level. BI Server is uses this for identifying the aggregate tables. It doesn’t be accurate.
- Always specify the content level in all logical table sources, both in facts and dimensions. It will allow BI Server to select the most optimized LTS in queries.
- Set up an implicit fact column for each presentation folder. It prevents users from getting wrong results if they create a report without fact column.
- Maintain a common time dimension for enterprise level.
No comments:
Post a Comment