Direct answer: model Power BI data as a star schema: central fact tables of events surrounded by dimension tables, connected by one-to-many relationships where filters flow from dimension to fact.
Fact and dimension tables
Sales (order lines) is a fact. Product, Customer, Region and Date are dimensions. Each fact row stores keys that point to dimension rows.
Relationships
- Cardinality: prefer one-to-many.
- Filter direction: keep single direction unless there is a clear need.
- Active vs inactive: only one active path between two tables; use USERELATIONSHIP for alternates.
Date table
Create a continuous date table and mark it as the date table; time-intelligence functions rely on it.
Why not one wide table?
It repeats text on every row, bloats the model and makes some DAX harder.
Common mistakes
- Duplicate keys in a dimension
- Many-to-many everywhere
- Using bidirectional filters to hide a modeling problem
Performance
Remove unused columns, reduce high-cardinality text, and store dates and integers where possible.
Conclusion
A good model makes DAX simpler and reports faster. Deepen it in the data modeling course.
Frequently asked questions
What is a fact table?
A table of events or transactions such as sales lines. Dimension tables describe them, such as product or customer.