What are facts?
Facts are measurable data. Think of numbers that you can add, calculate or analyze. Examples:
- Turnover in euros
- Number of products sold
- Number of visitors to a website
Facts are often linked to a time, place or other context.
What are dimensions?
Dimensions give meaning to facts. They describe the context so you can understand the figures. Examples:
- Time (year, month, day)
- Product (category, brand, type)
- Customer (age, region, gender)
Dimensions allow you to look at facts from different angles.
How facts and dimensions together?
A simple example:
- Fact: sales = ā¬1,000,000
- Dimensions: in 2025, in the Netherlands, for product group “beer”
By combining facts and dimensions, you can answer questions such as:
Which region achieved the most sales in 2025?
Why are facts and dimensions important?
- They make data understandable.
- They provide structure to reports and dashboards.
- They help you gain insights faster and make better decisions.
Facts and dimensions in Power BI
In Power BI , facts and dimensions are the building blocks of a good data model:
- The fact table contains the numbers you want to analyze (for example, sales or numbers).
- Dimension tables allow you to filter, group or visualize those numbers (for example, by year, by customer or by product).
When you model facts and dimensions well in Power BI, you get:
- Faster reporting because relationships are set up logically.
- Reliable results because figures are always shown in context.
- Flexibility to easily extend dashboards without having to rebuild everything.
Why well modeled facts (Kimball) are important
A common mistake is working with only transactional tables. Those often contain everything that happened: every order, every product, every customer, every line. That’s valuable data, but for reporting purposes it creates problems:
- It is slow: tables with millions of rows are not efficient to analyze directly.
- It is unclear: the same calculation must be built over and over again.
- It is error-prone: small differences in logic produce anomalous results.
Therefore, use the Kimball model (star schema) to create fact tables specifically designed for analysis.
Example: sales dates
Suppose you have a transactional table with millions of order lines:
- OrderID, ProductID, CustomerID, Date, Quantity, Price
In such a table, of course, you can calculate sales, but it gets complicated when you want to answer questions like:
- “What is the average order value by customer type?”
- “Which product category is doing best by quarter?”
By creating a fact table (for example, SalesFact) with calculated fields such as TotalSales and Quantity, and linking this to dimension tables(CustomerDim, ProductDim,
TimeDim), you get a much more powerful model. Power BI can then directly and reliably make the connections and perform complex analysis.
In short, a transactional table is good for capturing transactions, but not for reporting. For reliable insights, you need well-designed fact tables and dimensions .