Technical Training
Analysis Services TrainingTable of Contents
Designing the Dimensional Model and Preparing the data for OLAP
Designing the Dimensional Model and Preparing the data for OLAP - Page 2
Designing the Dimensional Model and Preparing the data for OLAP - Page 3Designing the Dimensional Model and Preparing the data for OLAP
Preparing the data for OLAP
The global issues out of the way, the enterprise must begin to focus on the granular design issues. The data in the data warehouse must be prepared for the application of Online Analytical Processing (OLAP) solutions and such preparations will be driven by the business needs of the enterprise.
Designing the Dimensional Model
User requirements and data realities drive the design of the dimensional model. The grain of detail and the type of facts to be included are decided by the business needs and the type of analytics and reports the end user wishes to generate. Maintenance issues and scalability issues determine the type of model created.
Central to the dimensional model are the Dimension tables which are linked to Fact tables. Dimension tables are tables which encapsulate the attributes associated with a particular subject into a table. A dimension table may relate to a customer, a product or a geographical region. Dimension tables have three kinds of fields—a primary key field, hierarchy level field and attribute fields. Dimension tables are linked to fact tables using the primary key of the dimension table and the foreign key of the fact table. Dimension tables are relatively small tables compared to fact tables. A dimension table may be used in multiple places if the data warehouse contains multiple fact tables that link to the dimension table. Such tables are known as Conforming dimensions. Use of conforming dimensions is critical to the design of the data warehouse.
Dimension tables define a dimension. A dimension is hierarchical and the nature of the hierarchy is determined by the needs of the group requiring the dimension. For example the time dimension may contain the day, week, month, year and quarter as attributes. A two dimension hierarchy may have customer and area as a dimension.
A dimension may also contain multiple hierarchies. For instance a time dimension may contain a calendar year and a fiscal year as hierarchies. A multiple hierarchy dimension in the customer dimension table would be area dimension, customer dimension and product dimension. This will be represented as a three dimensional model of data. This figure represents a three dimensional hierarchy

As a safety measure most dimension tables provide for an omnibus attribute called “all” such as “all customers”, “all products”. This is an artificial
category used for grouping the first level category of the dimension and permits summarization of fact data to a single number for a dimension. A hierarchy may be balanced, unbalanced, ragged, or composed of parent child relationships. We will be dealing with these attributes later in the series.
Surrogate keys are keys defined and maintained in the data warehouse to uniquely identify records in the dimension. GUID(globally unique numbers) and Identity keys are sometimes used in data derived from distributed sources to identify them.
Fact Tables
A fact table contains business event details and addresses unique business problems, process and user needs. Fact tables are very large containing millions of rows and consuming hundreds of gigabytes of space. Since dimension tables contain descriptions of facts, the fact table can be reduced to columns for dimension foreign keys and numeric fact values.
Data warehouses may contain multiple fact tables. Each fact table may relate to one particular user requirement or business need. The fact tables are related to the dimension tables relating to the business function in schemas known as star or snowflake schemas. Such business specific schemas may be part of the central data warehouse or implemented in separate data marts.
Very large fact tables are partitioned physically for ease of implementation and design considerations. The partitions are usually on a single dimension-mostly time dimension as the data in the data warehouse is historical in nature. The OLAP cubes that are developed using the partitioned fact tables are also partitioned to match the partition in the fact table.
Measures are values that quantify facts and are numeric. Measures are usually additive along dimensions. For example Quantity by customer, product and time results in a meaningful value. However non-additive values also can exist along dimensions. The quantity on hand measure is a non-additive value. Calculated measures are measures that result from applying a function to one or more measures. An example of this measure is the result of a multiplying price with product quantity.
The logical model of a fact table contains a foreign key column for the primary keys of each dimension. The combination of these foreign keys defines the primary key for the fact table. The type of composite key defined will be determined by the type of partitions required, the load performance needed etc.
The fact table resolves many-to-many relationships between dimensions because the dimension tables join through the fact table.
The granularity of the fact table is determined by the fact content columns that have been identified. Granularity is the measure of the level of detail addressed by the individual entries in the fact table.
Analysis Services Training
- MSAS - Browsing the Dependency Network
- MSAS - Building a Relational Decision Tree Model
- MSAS - Introduction to Data Mining
- MSAS - Applying security to a Dimension
- Tutorial 65: MSAS - Managing Cube Roles
- MSAS - Understanding Database Roles
- MSAS - Securing User Authentication
- MSAS - Introducing Analysis Services Security
- MSAS - Writebacks
- MSAS - Defining and Creating Drillthrough
- MSAS - Defining and Creating Auctions
- MSAS - Creating and Maintaining Calculated Members in Virtual Cubes
- MSAS - Building a Virtual Cube
- MSAS - Understanding Virtual Cubes
- MSAS - Introducing Solve Order
- MSAS - Implementing Calculations Using MDX Part 2
- MSAS - Implementing Calculations Using MDX Part 1
- MSAS - Merging Partitions
- MSAS - Introduction and Managing Partitions
- MSAS - Troubleshooting Cube Processing
- MSAS - Optimizing Cube Processing
- MSAS - Processing Dimensions and Cubes
- MSAS - Introducing Dimension and Cube Processing
- MSAS: Optimization Tuning Part 2
- MSAS: Optimization Tuning Part 1
- MSAS: Usage-Based Optimization
- MSAS: Analysis Services Aggregations
- MSAS: The Storage Design Wizard
- MSAS: Analysis Server Cube Storage
- MSAS: Defining Cube Properties
- MSAS: Introduction and Working with Measures
- MSAS: Introduction and Working with Cubes
- MSAS: Virtual Dimensions
- MSAS: Introducing Member Properties
- MSAS: Creating Custom Rollups
- MSAS: Creating a Time Dimension
- MSAS: Understanding Hierarchies
- MSAS: Dimension Storage Modes and Levels
- MSAS: Working with Levels and Hierarchies
- MSAS: Working with Parent-Child Dimensions
- MSAS : Basics of Levels
- MSAS : Working with Standard Dimensions
- MSAS : Shared vs Private Dimensions
- Understanding Dimension Basics
- MSAS : Office 2000 OLAP Components
- MSAS : Client Architecture
- MSAS : Cube Storage options
- MSAS : Meta data Repository
- MSAS : Analysis services Tools for Extended Functionality
- MSAS : The Wizards
- MSAS : The Analysis Manager and Analysis Server
- MSAS : The Data warehousing framework of SQL Server 2000 - Part 2
- MSAS : The Data warehousing framework of SQL Server 2000 - Part 1
- MSAS : Microsoft Data Warehousing Overview
- MSAS : Browsing the Cube
- MSAS : Designing Storage and Processing the Cube
- MSAS : Building the Cube Part #3
- MSAS : Building the Cube Part #2
- MSAS : Building the Cube Part #1
- MSAS : Setting up the Database in Analysis Server
- MSAS : Preparing to Create the Cube
- MSAS : Introducing Analysis Manager Wizards
- Microsoft Analysis Services Installation
- MSAS - Applying OLAP Cubes
- Understanding OLAP Models
- Designing the Dimensional Model and Preparing the data for OLAP
- Design of the data warehouse: Kimball Vs Inmon
- Defining OLAP Solutions and Data Warehouse design
- Microsoft Analysis Services Training
- Data Warehouse database and OLTP database
- Introduction to Data Warehousing







