How To: Dimensional Modelling Made Easy

Martyn Rhisiart Jones – Madrid 2nd February 2026

A Short Introduction to Dimensional Modelling

Dimensional models are a way of organising data so that it is easy to understand, quick to query, and optimised for reporting and analysis, especially in data warehouses, advanced dimensional analytics, reporting and visualisation, or business intelligence systems.

Essentially, a dimensional model separates data into two types of tables. Fact tables and dimension tables.

1. Fact Tables

These contain measurable quantitative data, such as sales amounts, number of items sold, revenue, etc.

They usually contain foreign keys to connect to dimensional tables.

Example: A Sales_Fact table may have columns such as:

date_SK, product_SK, store_SK

units_sold, total_sales

SK refers to a surrogate key.

2. Dimensional Tables

These tables contain descriptive and contextual data about the facts of the matter.

They help answer questions such as ‘What product was sold?’ or ‘In which region?’ and ‘To what type of customer?’

Dimensional models can be rich in text and detail: designed to filter, group and label data.

Example: A Product_Dimension table may include:

product_SK, product_name, category, brand

So why use dimensional models?

Easier for users: Designed with business analysts and reporting tools in mind. The dimensional models are usually much closer to the business idea of what business data is.

Faster queries: Optimised for reading and aggregating data.

Compatible with star and snowflake schemas:

Star schema: These are central fact tables, connected directly to dimension tables.

Snowflake schema: These are more normalised dimensions (dimension tables linked to subdimensions). They are usually unnecessary if the data modeller knows what he is doing.

Real-world example:

A retail data warehouse might use dimensional modelling such as the following:

Fact table:

Sales_Fact (sales amounts, units sold)

Dimension tables:

Time_Dim (day, month, quarter, year)

Product_Dim (product name, category, size)

Store_Dim (location, type, manager)

This configuration allows users to efficiently run queries such as: Total sales by product category in the first quarter of 2025, broken down by store region. In summary, dimensional modelling consists of structuring data to achieve speed, simplicity and analysis, making complex data sets easier for people to understand and explore.

Reading Suggestions