Week 10 – Designing dimensional data model
The purpose of this workshop is to design a dimensional data model for a particular business
process. First, identify the grain of a central fact table to store the measures, then choose which
dimensions you will need to meet the reporting and analysis requirements. Finally, decide which
schema to use and identify the attributes of the fact table and dimension tables.
Case study scenario
AB electronics is a company that retails consumer electronics such as TV, cameras, and laptops to
customers throughout the UK. The company wants to implement a data warehouse in order to meet
a range of reporting and analysis requirements. The company is using a transactional relational
database to store and manage information about customers, products, orders, etc.
Data descriptions:
Product:
Each product has a unique name called sku (stock keeping unit). It also has other
attributes such as name, description, brand, product type, cost, and retail price.
Product Type:
Similar products are categorised into a product type. It is uniquely identified by product type
code and the description of a product type is also stored.
Customer:
A customer is identified by a customer code and has other attributes such as first name, last
name, customer type, and total transaction value.
Order:
An order is placed by any customer at any time to buy one or more products. One order is
identified by an order id.
Order Line:
The quantity ordered for a particular product within one order. An order is a set of order lines for
all ordered products.
User reporting and analysis requirements
1. Quantity sold daily per product.
2. Quantity sold daily per product type.
3. Daily total revenue/profit margin per product.
4. Total revenue from each customer.
5. Total revenue per customer type per product per month