Best Practices for Managing Relationships in Power BI
Which THREE are best practices for managing relationships in Power BI? (Select exactly 3.)
Quick Answer
The answer is to ensure that the data types of related columns match, use single-direction cross-filtering, and hide foreign key columns in dimension tables. These three practices form the foundation of stable and performant data models because mismatched data types prevent relationships from being created, while single-direction filtering avoids the ambiguity and performance drag that bidirectional filters introduce. Hiding foreign keys in dimension tables keeps the model clean and prevents users from accidentally dragging key columns into visuals, which would break the filter context. On the PL-300 exam, this question tests your understanding of star schema design and relationship cardinality, often appearing as a trap where many-to-many or bidirectional options seem tempting but are explicitly discouraged as best practices. Remember the mnemonic "MUSH": Match data types, Use single direction, SHide foreign keys.
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
✓
Hide foreign key columns in dimension tables to prevent misuse
Options B, C, and E are correct. Option B: Hiding foreign key columns in dimension tables prevents users from accidentally using them in visuals, which is a best practice. Option C: Single-direction cross-filtering is recommended to avoid ambiguity and performance issues; bidirectional should only be used when necessary. Option E: Ensuring data types match between related columns is essential for creating valid relationships. Option A is incorrect because many-to-many relationships should be avoided when possible; they add complexity and can negatively impact performance. Option D is incorrect because setting cross-filter direction to both is not recommended by default—it can lead to ambiguous filtering and degraded performance.
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 many-to-many relationships whenever possible to simplify the model
Why it's wrong here
Many-to-many relationships should be used sparingly due to complexity.
- ✓
Hide foreign key columns in dimension tables to prevent misuse
Why this is correct
Foreign keys are not needed in report visuals and can confuse users.
- ✓
Use single-direction cross-filtering unless bidirectional is required
Why this is correct
Single direction is simpler and more performant.
- ✗
Always set cross-filter direction to both to allow full interactivity
Why it's wrong here
Bidirectional filtering can lead to ambiguity and performance issues.
- ✓
Ensure that the data types of related columns match
Why this is correct
Mismatched data types prevent relationship creation.
Go deeper
Related to this question
About these practice questions
Courseiva writes every PL-300 question from scratch — 217 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
Same concept, more angles
2 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. You need to create a relationship between two tables in Power BI. Both tables contain a column named 'ProductID', but the values in one table are integers and in the other are text. What should you do first?
easy- A.Merge the two tables into one in Power Query.
- ✓ B.Ensure both columns have the same data type, either by changing the data type in Power Query or in the model view.
- C.Create a new calculated column that converts the integer to text using FORMAT.
- D.Set the relationship to 'Many-to-many' to bypass the type mismatch.
Why B: In Power BI, relationships require matching data types on both sides of the key columns. If one 'ProductID' column is integer and the other is text, the relationship engine cannot resolve the join because the data types are incompatible. Changing both columns to the same data type—either in Power Query (recommended for performance) or in the model view—resolves this mismatch and allows a valid relationship to be created.
Variation 2. You need to create a relationship between two tables in Power BI. Table A has a column 'ProductID' with unique values. Table B has a column 'ProductID' with duplicate values. Which relationship cardinality should you choose?
easy- A.Many-to-one (Table A to Table B)
- ✓ B.One-to-many (Table A to Table B)
- C.One-to-one
- D.Many-to-many
Why B: Table A has unique values and Table B has duplicates, so the relationship should be one-to-many from Table A to Table B. Option A (many-to-one) would be the reverse direction and is incorrect. Option C (one-to-one) requires unique values on both sides, which is not the case. Option D (many-to-many) would require a junction table and is unnecessary here.
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.