Storage Modes: Import, DirectQuery & DirectLake
Understand the three storage modes in Power BI — Import, DirectQuery, and DirectLake — their trade-offs, and when to choose each one for your data model.
Import, DirectQuery, or DirectLake?
Think about reading a book.
Import is like photocopying the entire book and bringing it home. You can read it anytime, even offline — but your copy might be outdated if the author publishes new chapters.
DirectQuery is like reading the book in the library. You always see the latest version, but you have to go to the library every time — and if it’s busy, you wait.
DirectLake is like the library delivering pages to your desk on demand. You get the latest content without photocopying anything, and it’s almost as fast as having your own copy — because the data lives in OneLake and Power BI pages it into memory directly from Delta tables.
The three modes compared
| Feature | Import | DirectQuery | DirectLake |
|---|---|---|---|
| Data freshness | Snapshot — as fresh as last refresh | Real-time — always current | Near real-time — reads from OneLake directly |
| Query speed | Very fast (in-memory VertiPaq) | Depends on source database | Fast (reads Delta tables from OneLake) |
| Data size limit | Capacity-dependent (1 GB shared, much higher on Premium/Fabric) | No practical limit — data stays at source | Capacity-dependent (OneLake storage limits apply) |
| DAX support | Full DAX support | Most DAX supported; some limitations vary by source | Full DAX support |
| Refresh needed? | Yes — scheduled or on-demand | No — always live | No — reads current files |
| Source load | Only during refresh | Every visual interaction queries the source | Minimal — reads files, not live queries |
| Requires | Any Power BI licence | Any Power BI licence | Microsoft Fabric capacity (any SKU) |
When to use each mode
Kenji Tanaka at Apex Manufacturing (🏭) has different data needs across his reports:
Import — His monthly executive summary uses historical data that doesn’t change during the day. Import is perfect: fast queries, full DAX support, and the data only needs refreshing once a day.
DirectQuery — The factory floor dashboard shows live production counts. Kenji needs real-time data, so he uses DirectQuery against the factory SQL database. The trade-off: each slicer click sends a new query to SQL Server.
DirectLake — Apex recently moved their data warehouse to Microsoft Fabric’s OneLake. Kenji’s new supply chain report uses DirectLake mode — it reads Delta tables directly from OneLake, giving him near-real-time data with Import-like speed. No scheduled refresh needed.
Exam tip: the DirectLake decision
DirectLake is the newest mode and appears in the April 2026 study guide for the first time. The exam will likely test:
- When to choose DirectLake: Data already in OneLake (Fabric), need for near-real-time without DirectQuery overhead
- When NOT to choose DirectLake: No Fabric capacity, data not in OneLake/Delta format, need for complex Power Query transformations (DirectLake has limited transform support)
- Fallback behaviour: If DirectLake can’t serve a query directly, it falls back to DirectQuery mode against the SQL analytics endpoint
Remember: DirectLake requires Microsoft Fabric capacity (any SKU) — it’s not available with Pro or PPU licences alone. Capacity guardrails (max rows, max columns) vary by SKU.
Composite models: mixing modes
You don’t have to choose just one mode. Composite models let you mix Import and DirectQuery tables in the same model.
Riley at Coastal Fresh (🛒) imports her product catalogue (small, rarely changes) but uses DirectQuery for her sales transactions table (large, updated constantly). This gives her fast lookups on products with live data on sales.
When composite models make sense:
- Some tables are large and need real-time data (DirectQuery)
- Other tables are small reference data (Import)
- You want full DAX on the imported tables while keeping live data flowing
Deep dive: Dual storage mode
In a composite model, you can set individual tables to Dual mode. Dual tables can act as either Import or DirectQuery depending on the query context. Power BI’s query engine decides which mode is fastest for each query.
Dual mode is useful for tables that are used in relationships with both Import and DirectQuery tables — typically dimension tables in a star schema.
Knowledge check
Kenji's factory floor dashboard needs to show real-time production counts from a SQL Server database. Which storage mode should he use?
Which storage mode reads Delta tables directly from OneLake with on-demand paging into VertiPaq?
🎬 Video coming soon
Next up: Data Profiling and Quality — how to spot bad data before it breaks your model.