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.
⚠ Common exam trap
PL-300 often tests the misconception that bidirectional and many-to-many relationships are always better for interactivity — candidates pick them for 'full interactivity' when best practice is to use them only when required.
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
Option B is correct because hiding foreign key columns in dimension tables keeps the model clean and prevents report authors from accidentally using these technical keys in visuals instead of the proper dimension attributes. Option C is correct because single-direction cross-filtering is the default and preferred approach; bidirectional filtering should only be enabled when a specific requirement demands it, since it can introduce ambiguity, performance degradation, and unexpected results. Option E is correct because related columns must share the same data type for the relationship to be created and to filter correctly; mismatched types cause errors or force Power BI to create an inactive relationship. Option A is incorrect because many-to-many relationships should be avoided when possible, as they complicate the model, can produce ambiguous results, and are harder to optimize. Option D is incorrect because setting all relationships to bidirectional cross-filtering is not a best practice; it can create ambiguous filter paths, circular dependencies, and performance issues.
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 introduce ambiguity and non-deterministic filter propagation; best practice favours a star schema with one-to-many relationships, reserving many-to-many for specific bridging cases. It tempts because many-to-many can reduce table counts, but that simplification sacrifices filter determinism and query performance.
- ✓
Hide foreign key columns in dimension tables to prevent misuse
Why this is correct
Hiding foreign key columns in dimension tables stops report authors dragging surrogate keys into visuals, which would produce meaningless aggregations. This satisfies the stem's relationship-management constraint by keeping filtering flowing through the defined relationship rather than raw key values, reducing accidental many-to-many ambiguity and incorrect totals.
- ✓
Use single-direction cross-filtering unless bidirectional is required
Why this is correct
Single-direction cross-filtering avoids ambiguous filter paths and the performance overhead that bidirectional relationships introduce through additional propagation. Bidirectional filtering is justified only for specific needs such as many-to-many bridge tables or slicer-driven filtering across a relationship. Defaulting to single direction keeps the model deterministic and satisfies the best-practise requirement for relationship management.
- ✗
Always set cross-filter direction to both to allow full interactivity
Why it's wrong here
Bi-directional cross-filtering propagates filters across many-to-many paths, creating ambiguous filter contexts and degrading performance; single-direction filtering is the default best practice. It tempts because bidirectional filtering does increase interactivity, but that interactivity is precisely what introduces ambiguity and circular relationships in the model.
- ✓
Ensure that the data types of related columns match
Why this is correct
Matching data types across related columns prevents Power BI from coercing values during relationship creation, which would otherwise degrade query performance and risk incorrect results. This satisfies the stem's requirement for sound relationship management, since mismatched types (such as text versus whole number) force the engine to abandon efficient indexing.
Go deeper
Related to this question
About these practice questions
Courseiva writes every PL-300 question from scratch — 524 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: The correct choice is B, One-to-many (Table A to Table B), because Table A's ProductID column contains unique values, making it the 'one' side, while Table B's ProductID column has duplicates, making it the 'many' side; in Power BI this is the standard star-schema relationship where the unique-key table filters the fact table. A one-to-many relationship from Table A to Table B correctly reflects that each ProductID in A can match multiple rows in B. Option A (many-to-one) reverses the direction and would require Table B to be the unique side. Option C (one-to-one) is invalid because Table B has duplicate ProductID values. Option D (many-to-many) is unnecessary and would not be the appropriate model when one side is already unique.
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official Microsoft exam blueprint
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.