Kimball dimensional modeling is a data warehouse design methodology introduced by Ralph Kimball in 1996, focused on creating business-driven, user-friendly star schemas that optimize query performance and analytical reporting. At its core, the approach organizes data into fact tables (measurable business events) and dimension tables (descriptive context), with a bottom-up implementation strategy that delivers rapid, incremental value to specific business processes. The methodology's enduring influence lies in the conformed dimension concept β shared, standardized dimensions that enable enterprise-wide consistency and cross-process analysis through a technique called drilling across, which remains essential even in modern cloud data platforms like Snowflake, Databricks, and BigQuery for maintaining semantic coherence across distributed data marts.
What This Cheat Sheet Covers
This topic spans 12 focused tables and 104 indexed concepts, 95 flashcards. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Core Design Methodology
These are the load-bearing ideas that everything else in Kimball rests on β the four-step design process, the star schema, and above all the grain declaration and conformed dimensions that hold an enterprise warehouse together. Get these right and the rest of the model tends to fall into place; get the grain wrong and no amount of later cleverness will save you.
| Concept | Example | Description | |
|---|---|---|---|
1. Select business process2. Declare grain3. Identify dimensions4. Identify facts | β’ Sequential design steps forming the foundation of every dimensional model β’ grain declaration is the pivotal step that determines fact table row uniqueness | ||
FactSales β joins to β DimProduct, DimDate, DimCustomer, DimStore | β’ Denormalized structure with a central fact table surrounded by dimension tables β’ optimizes query performance and simplifies business user comprehension | ||
DimProduct β DimCategory β DimBrand | β’ Normalized variant where dimension hierarchies are broken into secondary tables β’ Kimball recommends avoiding snowflakes because they are harder for users to navigate and can hurt query performance | ||
One row per product sold per transaction per store per day | β’ Precise statement of what a single fact table row represents β’ must be the lowest atomic level to enable maximum flexibility for slicing and aggregation | ||
Rows = business processes Columns = dimensions Shaded cells = shared dimensions | Enterprise planning tool showing which conformed dimensions are used by which business processes, enabling integrated incremental development | ||
Same DimCustomer used in FactSales, FactReturns, FactServiceCalls | β’ Standardized master dimensions shared across multiple fact tables β’ essential for cross-process analysis and consistent business definitions enterprise-wide | ||
Revenue defined identically in FactSales and FactOnlineSales | β’ Same measurement appearing in separate fact tables must have identical technical definitions β’ identically named if consistent; differently named if incompatible | ||
Retailer: Purchasing β Warehousing β Retail Sales | β’ Identifies the natural flow of primary business processes β’ each process typically spawns at least one atomic fact table with unique metrics, grain, and dimensionality | ||
Query FactSales + FactInventory using identical DimProduct, DimDate row headers | Combining metrics from separate fact tables by making queries with matching conformed dimension attributes, then stitching results β core benefit of bus architecture | ||
Start with Sales data mart β add Marketing mart β add Inventory mart | β’ Kimball's incremental methodology delivering rapid business value through focused data marts connected by conformed dimensions β’ contrasts with Inmon's top-down enterprise warehouse | ||
Add new PromotionKey FK to existing FactSales without breaking queries | β’ Dimensional models are resilient to change β new facts, dimensions, and attributes can be added without altering existing BI queries β’ grain can be made more atomic by restating the fact table | ||
Bus matrix rows replaced with business stakeholder groups to show who benefits from each process | Variant of the bus matrix where dimension columns are replaced by business stakeholder groups, used to communicate data warehouse value and prioritize development |