All topics

Topic 03 / 07

Data Modelling

Create models that scale

Skip to quiz· 10 questions
01

Fact and Dimension Tables

Fact tables record events at a consistent grain, such as one row per sales line. Dimension tables describe the products, customers and dates attached to those events. Define the grain first so totals and relationships remain predictable.

02

Star Schema

A star schema places a fact table at the centre, connected to descriptive dimensions. Use unique dimension keys and keep descriptive attributes in the dimensions. This structure makes filters easier to follow and measures easier to maintain.

03

Relationships

Relationships allow filters to travel between tables. Connect matching key columns with compatible data types. Prefer an active relationship for the usual analysis path; an inactive relationship can be used explicitly in a DAX calculation with USERELATIONSHIP.

04

Cardinality

Cardinality describes whether each side of a relationship contains unique or repeated keys. A common pattern is one-to-many from a dimension to a fact table. Check the one-side key for duplicates and blanks before creating the relationship.

05

Filter Direction

Single-direction filtering normally carries dimension filters into the fact table. Bidirectional filtering can support particular scenarios but can also create ambiguous paths. Keep the default model simple and add bidirectional behaviour only when it is needed.

06

Date Tables

Use a dedicated date table with one unique row per day and a continuous date range covering your facts. Add year, quarter and month attributes, and sort month names by their month numbers. Mark it as a date table when required for your time-intelligence approach.

Topic quiz ahead10 questions to check what you understood — keep scrolling or tap here to jump straight to it.

Topic quiz

10 questions · answers show after you submit

  1. 1. What does a fact table usually store?

  2. 2. What does a dimension table usually store?

  3. 3. What shape does a star schema have?

  4. 4. What is the most common relationship cardinality?

  5. 5. What is the recommended default filter direction?

  6. 6. Why add a dedicated date table?

  7. 7. What must a date table marked as date table contain?

  8. 8. How many relationships between two tables can be active at once?

  9. 9. Which DAX function activates an inactive relationship?

  10. 10. What is a role-playing dimension?