Becoming a BI
Becoming a BI Developer
Different end users with different expectations
Reports and clarity versus proper normalization
Transaction speed is not a core requirement
Preprocessing of data to store aggregates for ease of reporting tools to leverage
Quick review of structures
Customer table + Person
schema tables contain the
customer data used for
ETL – Extract Transform and Load
Available on - http://msftdbprodsamples.codeplex.com/
Types of Objects
◦ Stores the data that measures tied to dimensional keys
◦ Count, Sum, Invoice Total
◦ Stores the attributes that describe the fact table records
◦ Time, Product, Customer, Location
Functions and code reuse
◦ First day of the Month
◦ Last day of the month
◦ Active Customer
Types of Dimensions
◦ Overwrites the old data in the dimension table with the new data
◦ SCD type 2 stores the entire history the data in the dimension table. Three different ways to store the
◦ Effective Date
◦ The current status and previous status of the row is maintained in the table
Designing for Reporting Tools
How does each tool consume data?
What is the best way to stage the data for the tool to leverage?
Always refer to best practices when starting.
Know the audience
How often will they view the report?
Are you emailing the report versus online viewing?
How fast should a report run?
◦ It Depends
◦ Dashboards – as fast a possible
◦ Summary Reports - minutes
◦ Detail Operational Reports – minutes/hours
◦ Cubes – as fast as possible