Speeding up refresh of referenced Power Query queries by moving Query1 to a dataflow

Transform and load the data
Answer Correct answer: C — reconfiguring Query1 as a dataflow entity is Microsoft's documented fix for slow refresh with referenced queries, at minimal cost.

You have a Power BI semantic model that contains four queries named Query 1, Query2. Query3, and Query4. Query1 loads customer data into the model and is referenced by the other three queries. You discover that data refresh for the model is slow. You need to improve the data refresh time. The solution must minimize costs. What should you do?

  1. Run the Table.buffer function in Query1.
  2. Duplicate Query1 to all the other queries.
  3. Reconfigure Query1 as a dataflow entity. Correct Answer
  4. From the Power BI Admin portal, increase the Capacity settings.

Community Votes

C
67%
A
33%

67% of anonymous learners picked answer C. Votes are pick records left by other test-takers — they are not the verified answer.

Community Insight

Microsoft's referenced-queries guidance states that when a query is referenced by many others it is evaluated once per referencing query at refresh, and the recommended low-cost remedy is redesigning the shared query as a dataflow entity that the others consume as a source.

Query1 loads customer data and is referenced by three other queries, and refresh of the semantic model is slow; the fix must improve refresh time while minimizing costs.

Reaching for Table.Buffer as a reflex — buffering can disable query folding and may slow refresh further, and it does not address the repeated-evaluation pattern that referenced queries create.

Community Discussion (15 comments)

b92fc92 👍 15 Selected: C
https://learn.microsoft.com/en-us/power-bi/guidance/power-query-referenced-queries "In the example, if Query1 is redesigned as a dataflow entity, Query2, Query3, and Query4 can use it as a data source. With this design, the entity sourced by Query1 will be evaluated only once."
Elabest 👍 1 Selected: C
"We recommend you create a dataflow instead. Using a dataflow can improve data refresh time and reduce impact on your data sources."
sroumi 👍 1 Selected: A
The best option is A. Run the Table.Buffer function in Query1. When Query1 is referenced by the other queries, Power Query might re-evaluate it multiple times during a refresh. By applying the Table.Buffer function in Query1, you force its results to be cached in memory. This ensures that the customer data is loaded only once, and the buffered result is reused by the subsequent queries, thereby improving the data refresh performance without incurring extra costs.
5bf040d 👍 1 Selected: A
Problem Recap: A Power BI semantic model with four queries (Query1, Query2, Query3, Query4). Query1 loads customer data and is referenced by the other queries. Data refresh is slow, and you need to improve refresh time while minimizing costs. Key Constraints: avoid additional costs (e.g., Premium or Pro licenses). improve refresh performance without increasing resource usage. Solution: A. Run the Table.Buffer function in Query1. The Table.Buffer function loads the data from Query1 into memory, which can speed up subsequent transformations and queries that reference Query1. This is particularly useful when Query1 is referenced multiple times (e.g., by Query2, Query3, and Query4), as it reduces the need to reload the data from the source. https://learn.microsoft.com/de-de/powerquery-m/table-buffer
drigotto8 👍 2 Selected: A
Gemini say so, seems reasonable. When you use Table.Buffer on a query (like Query1 in this case), you force Power BI to fully load the results of that query into memory. Because Query1 is referenced by the other three queries, this buffering has a significant positive impact. Instead of Query2, Query3, and Query4 each re-evaluating Query1 every time they are refreshed, they can simply reuse the buffered copy already in memory. This drastically reduces redundant calculations and speeds up the overall refresh process.
SylUK 👍 3 Selected: C
C is the correct answer . Please open this link:https://learn.microsoft.com/en-us/power-bi/guidance/power-query-referenced-queries.
Odidepse 👍 2 Selected: A
Question is You need to improve the data refresh time so it should be A The Table.buffer function loads the entire table into memory when it's first accessed, which helps improve performance by reducing the need to fetch data repeatedly from the source. If Query1 is used in other queries, applying Table.buffer ensures all the customer data is loaded into memory once, speeding up the refresh process. Reconfiguring Query1 as a dataflow could help with reusability and organizing transformations, but it doesn’t directly improve refresh times for the existing model.
Pey1nkh 👍 2 Selected: A
When a query in Power BI is referenced multiple times (as Query1 is referenced by Query2, Query3, and Query4 in this scenario), Power BI can execute Query1 multiple times during the data refresh process. This redundant execution slows down the refresh time. The Table.Buffer function helps optimize this by loading the data from Query1 into memory so that subsequent queries can reuse the buffered data, preventing repetitive execution. why not C : While using a dataflow can offload processing to the Power BI Service, this introduces additional costs (Premium or Pro licenses). The question specifies that the solution must minimize costs.
Maha2303 👍 1 Selected: A
A is the correct answer because for C you will need to use a premium workspace or PPU
desibaby09 👍 1 Selected: C
create a dataflow instead. Using a dataflow can improve data refresh time and reduce impact on your data sources.
jaume 👍 1 Selected: C
I vote for option C. We should copy the code in Query 1 t ouse it to create dataflow with it... Table.buffer could improve performace by preventing multiple scans of the SOURCE table during transformations; since queries 2, 3 and 4 are referenced to Query 1, they are not scanning the source table but the referenced query which is retrieving the data from the source
Davery 👍 1 Selected: C
Its C: your comment is too short
9d92039 👍 1 Selected: A
https://learn.microsoft.com/en-us/power-bi/guidance/power-query-referenced-queries
Ash_34 👍 1 Selected: A
Table.Buffer will keep the data in memory as buffer. So there wont be any changes in data. this is similar to referencing the data.
Endeetheanalyst 👍 1
Run the Table.Buffer function in Query1

Comments & Corrections

No comments yet — spotted an error or have a note? Share it below.

Log in to comment, report an error, or add a note about this question.

Submitted for moderation before publishing. Keep it helpful and respectful.

Expert Analysis

Why the Answer Is Correct

Microsoft's guidance on referenced queries describes exactly this shape: a query referenced by several others is evaluated separately for each reference during refresh. The same page recommends redesigning the shared query as a dataflow entity, so Query2, Query3, and Query4 load from the dataflow instead of re-deriving Query1 themselves. Dataflows run on existing capacity available to Power BI Pro workspaces, which keeps the cost profile minimal.

Why the Other Options Are Wrong

Table.Buffer (A) caches Query1's result in memory, but each referencing query still evaluates the buffered copy and buffering can break query folding, sometimes making refresh slower rather than faster. Duplicating Query1 (B) into every other query multiplies the refresh work and data-source load — the opposite of the goal. Increasing capacity settings in the admin portal (D) requires Premium capacity, which directly violates the minimize-costs constraint.

Community Comment Notes

The most-endorsed comment quotes the official referenced-queries page, including its line that redesigning Query1 as a dataflow entity lets the other three queries use it as a data source. The Table.Buffer camp argues from repeated-evaluation reasoning, but buffering does not deduplicate evaluation across referencing queries the way a dataflow does.

Official Reference

Related Analysis

Practice All PL-300 Questions

Access 116 questions with complete answers and detailed explanations.

View Full PL-300 Practice Test →

← Back to PL-300 Study Guide