Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Data Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more

Reply
manoj_0911
Kudo Collector
Kudo Collector

single dataset refresh, we observe multiple SQL statements

During a single dataset refresh, we observe multiple SQL statements including:

  • MAX(UPDATE_DATETIME) queries
  • TOP 1000 queries
  • Metadata queries

Is this expected Power BI behavior when Detect Data Changes and Incremental Refresh are enabled?

1 ACCEPTED SOLUTION
rajendraongole1
Super User
Super User

Hi @manoj_0911  -Yes, this is expected behavior. To add to @oussamahaimoud's explanation, Power BI can generate multiple SQL statements during a single refresh cycle because it performs several operations behind the scenes, including schema validation, partition evaluation, change detection, and data retrieval. The exact number of queries may vary depending on the incremental refresh policy, number of partitions, and whether query folding is occurring correctly.

If you're investigating performance, I'd recommend reviewing the actual partition refresh queries and confirming that the RangeStart/RangeEnd filters are being folded to the source. This will help ensure the incremental refresh is operating as efficiently as intended.

Hope this helps.





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!





View solution in original post

3 REPLIES 3
rajendraongole1
Super User
Super User

Hi @manoj_0911  -Yes, this is expected behavior. To add to @oussamahaimoud's explanation, Power BI can generate multiple SQL statements during a single refresh cycle because it performs several operations behind the scenes, including schema validation, partition evaluation, change detection, and data retrieval. The exact number of queries may vary depending on the incremental refresh policy, number of partitions, and whether query folding is occurring correctly.

If you're investigating performance, I'd recommend reviewing the actual partition refresh queries and confirming that the RangeStart/RangeEnd filters are being folded to the source. This will help ensure the incremental refresh is operating as efficiently as intended.

Hope this helps.





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!





oussamahaimoud
Solution Sage
Solution Sage

Hi @manoj_0911,

Hope you're doing well!

 

Yes, this is completely expected behavior. Here's what each query type represents:

 

MAX(UPDATE_DATETIME) : this is the Detect Data Changes query. Before deciding which partitions to refresh, Power BI queries the max value of your change-detection column to determine if anything changed since the last refresh. If nothing changed, partition refreshes are skipped entirely.

 

TOP 1000: this is Power BI executing the actual incremental refresh partition queries. Each partition (both the incremental range and any historical partitions that qualify) gets its own filtered SQL query. The TOP 1000 you see in traces is typically the query folding preview/validation step, Power BI tests that the M query folds correctly to SQL before executing the full partition load. Note that the actual data load queries won't have TOP 1000, those will have full date-range predicates (WHERE RangeStart <= ... AND ... < RangeEnd). If you're only seeing TOP 1000, check whether you're looking at the validation phase vs. the actual partition refresh.

 

Metadata queries: Power BI queries schema/catalog information against the source (column types, table existence, etc.) as part of query planning. This is standard behavior for any dataset refresh, not specific to incremental refresh.

 

Hope this helps! Don't forget to accept as solution and give kudos in order to keep helping others.

 

Best regards,

Oussama (Data Consultant - Expert Fabric & Power BI)


  Did my response help you? Clicking Kudos is a small gesture that goes a long way, it encourages contributors and helps the community thrive!


Did I answer your question? Please mark my post as a Solution, it helps others find the answer faster.


Senior Data & BI Consultant · Microsoft Fabric & Power BI Specialist


Connect with me on LinkedIn

Hi @manoj_0911 ,

Thank you for reaching out to the Microsoft Community Forum. could you please try the proposed solution shared by @oussamahaimoud ? Let us know if you’re still facing the same issue we’ll be happy to assist you further.

 

Regards,

Dinesh

Helpful resources

Announcements
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

May Power BI Update Carousel

Power BI Monthly Update - May 2026

Check out the May 2026 Power BI update to learn about new features.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.