Best Practices for Designing a Power BI Data Model
Which TWO of the following are best practices for designing a Power BI data model?
Quick Answer
The answer is using surrogate keys in dimension tables to link to fact tables and adopting a star schema design. These are best practices for Power BI data model design because a star schema reduces data redundancy and query complexity by separating descriptive attributes into dimension tables, while surrogate keys provide a stable, integer-based link that avoids performance issues from natural keys. On the Microsoft Power BI Data Analyst PL-300 exam, this concept tests your understanding of dimensional modeling fundamentals, often appearing in questions that ask you to identify efficient model structures versus common pitfalls like bi-directional cross-filtering or storing full names in fact tables. A frequent trap is assuming calculated columns are as efficient as Power Query transformations, but the exam emphasizes that M-code-based steps are preferable. Remember the mnemonic “Star with Surrogates” to recall that a star schema paired with surrogate keys ensures optimal performance and clarity.
⚠ Common exam trap
Many exam-takers confuse 'faster queries' with storing attributes directly in fact tables (Option C), not realizing that this increases table size and degrades performance due to higher cardinality and reduced compression efficiency.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Use a star schema to reduce model complexity.
A star schema organizes data into dimension and fact tables, reducing redundancy and simplifying queries. This design improves query performance by minimizing the number of table joins and enabling efficient aggregation, which is a core best practice in Power BI data modeling.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Use a star schema to reduce model complexity.
Why this is correct
Star schema is the recommended design.
- ✓
Use surrogate keys in dimension tables to link to fact tables.
Why this is correct
Surrogate keys ensure stable relationships.
- ✗
Store dimension attributes directly in fact tables for faster queries.
Why it's wrong here
This increases model size and violates normalization.
- ✗
Enable bi-directional cross-filtering on all relationships.
Why it's wrong here
Bi-directional filtering can cause performance issues and ambiguity.
- ✗
Create calculated columns instead of Power Query transformations when possible.
Why it's wrong here
Creating calculated columns in DAX materialises values during data load, increasing model size and memory pressure, whereas Power Query transformations can filter or shape data earlier in the ETL process, reducing the dataset before it enters the model. This option is tempting because calculated columns are convenient for row-level logic that depends on other columns, and they would be correct if the requirement were to add a static categorisation derived from existing fields without performance concerns.
Go deeper
Related to this question
About these practice questions
This PL-300 question is part of Courseiva's 217-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
Same concept, more angles
7 more ways this is tested on PL-300
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. Which TWO of the following are best practices for designing a data model in Power BI?
easy- A.Use calculated columns to perform all transformations.
- B.Set all relationships to bidirectional cross-filtering to avoid ambiguity.
- ✓ C.Use surrogate keys (integer IDs) for relationships instead of natural keys.
- D.Reference other queries as a single source to avoid duplication.
- ✓ E.Design the model with a star schema layout (fact and dimension tables).
Why C: Using surrogate keys (integer IDs) instead of natural keys improves relationship performance and reduces storage overhead. Integer joins are faster than string or composite key joins, and surrogate keys avoid issues with changing natural key values, ensuring referential integrity and stable model relationships.
Variation 2. Which THREE of the following are best practices for designing a Power BI data model?
hard- A.Use composite keys in relationships for better performance
- B.Enable bidirectional cross-filtering by default
- ✓ C.Implement business logic in measures rather than calculated columns
- ✓ D.Use a star schema design with dimension and fact tables
- ✓ E.Use surrogate keys for dimension tables
Why C: Options C, D, and E are correct. For Power BI data models, it is a best practice to implement business logic in measures rather than calculated columns (C), use a star schema design with dimension and fact tables (D), and use surrogate keys for dimension tables (E). Option A is incorrect because composite keys can complicate relationships and negatively impact performance; surrogate keys are preferred. Option B is incorrect because bidirectional cross-filtering should be used sparingly and only when necessary, not by default, as it can lead to ambiguous filter propagation and performance issues.
Variation 3. Which TWO of the following are best practices when designing a Power BI data model?
medium- A.Use calculated columns instead of measures
- ✓ B.Use a star schema design
- C.Denormalize all tables into a single flat table
- D.Use bidirectional relationships as default
- ✓ E.Hide foreign key columns from report view
Why B: Options B and E are correct because a star schema design improves query performance and simplifies the model, and hiding foreign key columns from report view ensures a user-friendly report interface. Option A is incorrect because measures are generally preferred over calculated columns for dynamic aggregations. Option C is incorrect because data should be normalized into dimension and fact tables rather than denormalized into a single flat table. Option D is incorrect because bidirectional relationships can introduce ambiguity and performance issues and should not be used as the default.
Variation 4. Which TWO of the following are best practices for designing a star schema in Power BI?
medium- ✓ A.Dimension tables should have a primary key and descriptive columns.
- B.Fact tables should contain calculated columns for business logic.
- ✓ C.Fact tables should have foreign keys that relate to dimension tables.
- D.Merge all tables into a single flat table for simplicity.
- E.Use many-to-many relationships between fact and dimension tables.
Why A: Dimension tables in a star schema are designed to store descriptive attributes (e.g., product name, category) and must have a primary key column that uniquely identifies each row. This primary key is referenced by foreign keys in fact tables, enabling efficient filtering and slicing in Power BI. Without a primary key, relationships cannot be properly enforced, leading to ambiguous or incorrect query results.
Variation 5. Which THREE of the following are best practices when designing a Power BI data model for performance?
hard- ✓ A.Hide columns that are not needed in reports.
- ✓ B.Avoid bi-directional cross-filtering unless necessary.
- ✓ C.Use star schema design with dimension and fact tables.
- D.Use many-to-many relationships directly without bridge tables.
- E.Use calculated columns instead of measures for aggregations.
Why A: Correct answers are A, B, and C. A: Hiding columns that are not needed reduces model size and improves clarity. B: Avoiding bi-directional cross-filtering prevents performance degradation caused by complex filter propagation. C: Using a star schema design with dimension and fact tables optimizes query performance. Option D is incorrect because using many-to-many relationships without bridge tables can cause ambiguity and poor performance. Option E is incorrect because measures are generally more efficient than calculated columns for dynamic aggregations.
Variation 6. Which TWO of the following are best practices when designing star schemas in Power BI? (Select two.)
medium- ✓ A.Store numeric measures in fact tables.
- B.Use calculated columns in fact tables for row-level security.
- ✓ C.Place descriptive attributes in dimension tables.
- D.Include many columns in fact tables for filtering.
- E.Normalize dimension tables to reduce redundancy.
Why A: Fact tables in a star schema are designed to store quantitative, numeric measures (e.g., sales amount, quantity) that can be aggregated. This aligns with the star schema principle of separating measures (facts) from descriptive context (dimensions), enabling efficient compression and fast aggregations in Power BI's VertiPaq engine.
Variation 7. Which THREE are best practices for designing a star schema in Power BI?
medium- ✓ A.Create a separate date dimension table
- B.Create multiple relationships between fact and dimension
- ✓ C.Use surrogate keys for dimension tables
- ✓ D.Store measures in fact tables at the lowest grain
- E.Use composite keys in fact tables
Why A: Options A, C, and D are correct. A separate date dimension table enables consistent date-based analysis across multiple fact tables. Surrogate keys in dimension tables avoid issues with changing business keys and improve join performance. Storing measures at the lowest grain in fact tables ensures accurate aggregations. Option B is wrong because multiple relationships between the same fact and dimension tables create ambiguity; a single active relationship is recommended. Option E is wrong because composite keys in fact tables complicate joins and reduce performance; surrogate keys are preferred.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This PL-300 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PL-300 exam.