What is dimensional modeling?

Dimensional modeling is a data-design method that organises data into fact tables (measurable events like sales) and dimension tables (descriptive context like product, customer or date). It structures analytical databases for fast, intuitive querying and reporting, most commonly in star or snowflake schemas.

Popularised by Ralph Kimball, dimensional modeling is the backbone of most reporting warehouses. Rather than optimising for transactional writes, it optimises for how people ask analytical questions: measures sliced by descriptive attributes.

  • Fact tables hold the numbers you aggregate, sales amount, quantity, duration, plus keys linking to dimensions.
  • Dimension tables hold the descriptive attributes you filter and group by: who, what, when, where.
  • Grain defines exactly what one fact row represents (one order line, one daily balance).

Done well, dimensional models make queries readable and fast. Done in the wild, real schemas are often inconsistent, cryptically named, and only partly modelled.

iDBQuery is built to work whether or not your data is cleanly dimensionally modelled. Its semantic layer learns the meaning of tables and columns even when names are obscure, and it can join across fact and dimension tables, or across entirely separate sources, to answer a question. So you get the analytical clarity dimensional modeling aims for, without first re-modelling your data, and every figure it returns is cited back to the exact source row.

Updated 2026-06-22