Forum Discussion
Power BI Direct Lake Best Practice
- 4 months ago
When you Import dims and Direct Lake the fact, Power BI handles the join at query time using the framed fact data against the in-memory dim data. This combination is generally faster than pure Direct Lake on both because the dim lookups do not go through the SQL endpoint at all.
The most common causes on a Direct Lake fact table are calculated columns on the fact table, Power Query transformations applied to the fact table, relationships set to bidirectional cross-filter, or RLS rules that cannot be evaluated via framing. Check each of these on your fact table first, any one of them forces the whole model into fallback.
When you Import dims and Direct Lake the fact, Power BI handles the join at query time using the framed fact data against the in-memory dim data. This combination is generally faster than pure Direct Lake on both because the dim lookups do not go through the SQL endpoint at all.
The most common causes on a Direct Lake fact table are calculated columns on the fact table, Power Query transformations applied to the fact table, relationships set to bidirectional cross-filter, or RLS rules that cannot be evaluated via framing. Check each of these on your fact table first, any one of them forces the whole model into fallback.
any idea how to prevent fall back to direct queries?
all our models fall back?
- v-hashadapu4 months agoCommunity Support
Hi powerbihelp87 , Thank you for reaching out to the Microsoft Community Forum.
In Microsoft Fabric Direct Lake, fallback behaviour is not controlled by a user-configurable setting. If a query or model feature cannot be evaluated against the in-memory data, the engine automatically routes execution to the SQL endpoint. In your case, since all models are falling back, this indicates a consistent model level constraint rather than a configuration gap.
Based on what you’ve confirmed, RLS is the most likely cause, if it cannot be resolved using only dimension-level filters, it will trigger fallback for the entire query. Temporarily disable RLS and retest, if fallback stops, you’ll need to redesign the RLS logic to be compatible with Direct Lake evaluation.