Question 958 of 749
DirectQuery Optimization Practices for Power BI
You are designing a Power BI data model for a manufacturing company. Which TWO practices help optimize performance when using DirectQuery?
Quick Answer
The answer is reducing columns in the query and using a single date dimension table for all date columns. These two DirectQuery optimization practices minimize data transfer and avoid multiple expensive joins against the source database, directly addressing performance bottlenecks in Power BI. On the PL-300 exam, this question tests your understanding of how DirectQuery pushes queries to the source—reducing columns limits the data pulled, while a single date table prevents redundant table scans. A common trap is assuming calculated columns are safe (they are pushed to the source but can still degrade performance), or that disabling relationships helps (it breaks model integrity). Bidirectional filtering is also a known performance risk. For the exam, remember the mnemonic “Less is More”: fewer columns and fewer date tables mean faster DirectQuery.
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
✓
Reduce the number of columns in the fact query to only those needed
Reducing the number of columns in the fact query minimizes data transfer and improves DirectQuery performance. Option E is correct: Using a single date dimension table for all date columns simplifies relationships and reduces the number of joins required, enhancing query efficiency. Option A is wrong because disabling relationships would break the model integrity and force manual filtering, degrading performance. Option B is wrong because calculated columns in DirectQuery are pushed to the source, but they can still increase query complexity and resource usage; it is better to use native columns or measures. Option D is wrong because bidirectional cross-filtering can lead to ambiguous relationships and additional query overhead, harming 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.
- ✗
Disable relationships between tables to reduce query complexity
Why it's wrong here
Relationships are necessary for correct filtering.
- ✗
Create calculated columns in Power Query instead of in DAX
Why it's wrong here
Calculated columns in Power Query are still materialized and may not improve performance.
- ✓
Reduce the number of columns in the fact query to only those needed
Why this is correct
Minimizes data transfer from the source.
- ✗
Enable bidirectional cross-filtering for all relationships
Why it's wrong here
Can degrade performance and cause ambiguity.
- ✓
Use a single date dimension table for all date columns
Why this is correct
Reduces the number of joins and relationships.
About these practice questions
Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. 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. A company has a Power BI semantic model that uses DirectQuery to a SQL Server database. The model contains a large fact table with sales data. Users report that reports using this model are slow. Which design change would most improve query performance?
easy- A.Remove all relationships between tables.
- B.Switch the model to Import mode.
- ✓ C.Remove unnecessary columns from the fact table.
- D.Disable the 'Reduce queries' option in report settings.
Why C: Removing unnecessary columns from the fact table reduces the amount of data that must be transferred from SQL Server to Power BI for each query. In DirectQuery mode, every report interaction sends a query to the source database, so fewer columns mean smaller result sets and faster query execution. This directly addresses the performance bottleneck caused by a large fact table without changing the underlying storage mode.
Variation 2. A company has a Power BI semantic model that uses DirectQuery to a SQL Server database. The model includes a large fact table with 100 million rows. Users are experiencing slow report performance. Which TWO actions should the developer take to improve query performance?
hard- A.Configure incremental refresh to limit data retrieved per query.
- ✓ B.Create indexes on columns used in filters and relationships.
- ✓ C.Remove unused columns from the fact table.
- D.Hide columns that are not needed in reports.
- E.Add calculated columns to precompute aggregations.
Why B: In DirectQuery mode, incremental refresh is not supported (option A is incorrect). Creating indexes on columns used in filters and relationships (option B) speeds up query execution on SQL Server. Removing unused columns from the fact table (option C) reduces the amount of data transferred per query. Hiding columns (option D) does not affect the data retrieved by queries. Adding calculated columns (option E) increases query overhead and degrades performance.
Last reviewed: Jun 21, 2026
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.
Question Discussion
Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.
Sign in to join the discussion.