Why Do Direct Lake Reports Fail on F32 Capacity?
You have a Fabric F32 capacity that contains a workspace. The workspace contains a warehouse named DW1 that is modelled by using MD5 hash surrogate keys. DW1 contains a single fact table that has grown from 200 million rows to 500 million rows during the past year. You have Microsoft Power BI reports that are based on Direct Lake. The reports show year-over-year values. Users report that the performance of some of the reports has degraded over time and some visuals show errors. You need to resolve the performance issues. The solution must meet the following requirements: Provide the best query performance. Minimize operational costs. Which should you do?
Community Insight
The question tests Direct Lake SKU row-limit thresholds, and the common trap is tuning keys, views, or V-Order instead of recognizing that 500 million rows exceeds the F32 table limit and forces fallback.
This DP-700 question tests the Direct Lake per-table row limits tied to Microsoft Fabric capacity SKUs and why a 500 million-row fact table on F32 causes degraded report performance and visual errors. The correct resolution is to increase the capacity so the table again fits within Direct Lake limits and stops falling back to slower query modes.
Option D (change surrogate key data type) is the most-chosen wrong answer: integer keys improve join efficiency but do not reduce the 500 million row count, so the table still breaches the F32 Direct Lake limit and continues to fall back.
Community Discussion (98 comments)
Comments & Corrections
No comments yet — spotted an error or have a note? Share it below.
Expert Analysis
Why the Answer Is Correct
On Direct Lake, each capacity SKU enforces a maximum rows-per-table threshold — F32 supports 300 million rows per table, while F64 raises that to 1.5 billion. DW1's fact table has grown to 500 million rows, so on F32 the model exceeds the supported limit and the engine drops into DirectQuery fallback, which is exactly what the users see as degraded performance and visual errors. Increasing the capacity moves the table back within the Direct Lake limit, restoring in-memory Parquet-based query performance, which satisfies the best query performance requirement. It is also the only option that eliminates the root cause rather than masking it, keeping operational effort minimal. Community members such as dazero, robertlavigne, and jakkuc92 all correctly identified the 300 million row F32 threshold as the deciding factor.Why the Other Options Are Wrong
Option A (SHA256) makes hash values wider than MD5 and does nothing to reduce row count, so it cannot remove the SKU limit and may even increase storage. Option C (V-Order) is already enabled by default in Fabric warehouses and is irreversible to disable, so enabling it changes nothing; as Tuki93 later acknowledged, the documentation only describes how to turn it off. Option D (change surrogate key data type) helps join efficiency but, as robertlavigne noted, key modificationOfficial Reference
Exam Strategy
Always check the Direct Lake per-SKU limits (rows per table, model size, memory) before considering tuning options; when a table exceeds the F32 threshold the only fix is a SKU increase. Treat V-Order and key-type changes as secondary optimizations that cannot bypass a capacity limit.
Frequently Asked Questions
Why doesn't changing the MD5 surrogate keys to integers fix the report errors?
Integer keys improve join speed, but they do not lower the 500 million row count, so the table still exceeds the F32 Direct Lake limit and keeps falling back to DirectQuery.
Isn't V-Order already enabled and therefore not a solution?
Yes. V-Order is enabled by default for Fabric warehouses and can only be disabled, not newly enabled, so option C changes nothing about the current performance.