Prepstellar

PL-300 · Get or connect to data

20 cards

Storage Modes

Swipe, scroll or use ← →
  1. Import, DirectQuery, and Direct Lake solve the same design problem in different ways: where should a Power BI semantic model obtain table data when a report needs an answer? The choice sets the balance among query speed, data freshness, modeling flexibility, source workload, and data-residency requirements.

    1 / 20
  2. Start with the query path

    A storage mode determines how a model table obtains data for an analytic query. Begin with that path; the benefits and limitations follow from it.

    Mode Where the query gets data Defining consequence
    Import A copy cached in the Power BI model Fast in-memory analysis, but the copy needs refresh
    DirectQuery The underlying supported source, through a pass-through query Source freshness without an imported table, but the source does the work
    Direct Lake Delta tables in OneLake Direct lake access without a separate import or an external DirectQuery round trip

    Storage mode is a property of a model table, not a choice made separately by each report visual. The three-way decision depends on where the data resides and how it should be queried.

    2 / 20
  3. Start with the query path

    Imagine a report visual that groups sales by month. The visual sends an analytic query, but the route differs:

    • With Import, the model answers from its stored copy.
    • With DirectQuery, Power BI passes the query to the operational source and returns its result.
    • With Direct Lake, a Fabric semantic model reads the relevant OneLake Delta data directly.

    That makes the first design question concrete: Can the data be copied into a model, must it remain at a supported source, or is it already lake data in OneLake? Only then should you weigh refresh latency, interactive performance, model size, and source capacity.

    3 / 20
  4. Quick check

    A governed relational database must remain at its source, and report queries should retrieve its current data when they run. Which query path fits?

    1. AUse DirectQuery pass-through to the source

      Correct. DirectQuery leaves data at a supported source and passes report queries to it.

    2. BImport the database into the model cache

      Import creates the cached copy that the requirement rules out.

    3. CRead it as OneLake Delta data with Direct Lake

      Direct Lake requires the relevant data to be held as Delta tables in OneLake; an ordinary external relational source does not match that path.

    4 / 20

  5. Import optimizes a cached copy for analysis

    An Import table answers queries from data stored, or cached, in the Power BI model. The cache is optimized for analytic work such as filtering, grouping, and summarizing, and the model is stored in memory. That is why Import usually delivers the fastest interactive query performance.

    Import also provides the broadest design flexibility. It supports Power BI data source types including databases, files, feeds, web pages, and dataflows. An import model can use DAX and Power Query functionality and can include calculated tables. Power BI Desktop therefore uses Import by default when you select Get data.

    Use this mode when a local copy is acceptable and the priority is strong interactive performance with extensive modeling options.

    5 / 20
  6. Import optimizes a cached copy for analysis

    The tradeoff is freshness. Imported data must be refreshed periodically, either on demand or by a schedule after publication. Imported data is current only through the last successful refresh. A source change made after that refresh is not in the cached model yet.

    The copy must also remain manageable. Reduce unnecessary data before loading it so model size and refresh duration stay under control. Typical reductions include removing unneeded rows or columns, summarizing a fact table to a higher grain, choosing efficient data types, and disabling load for queries that do not need to become model tables.

    For a manageable source, an acceptable refresh schedule, broad modeling flexibility, and fast interactive queries, choose Import into a cached Power BI model.

    6 / 20
  7. Quick check

    Why can a fast, flexible Import model miss a source change made after its last refresh?

    1. ADirectQuery is waiting for a scheduled import

      DirectQuery queries its source and does not need a scheduled data refresh.

    2. BDirect Lake read an external SQL cache

      Direct Lake reads OneLake Delta tables directly, not an imported SQL cache.

    3. CIts cache has not been refreshed

      Correct. Import is current only through its last successful refresh.

    7 / 20

  8. DirectQuery trades the cache for source access

    A DirectQuery table does not cache a complete copy of its data in the Power BI model. When a report query runs, a DirectQuery table obtains data from the underlying source through a pass-through query. Because the table does not require a data refresh, this path can return near-real-time results from rapidly changing data.

    DirectQuery is a strong candidate when importing an entire large data store would be impractical, or when organizational policy prevents data from leaving an on-premises source. Large, fast-changing source data that should remain at the source most directly favors DirectQuery over Import.

    The source and connector must support DirectQuery. The absence of an imported copy does not remove the need for a Power BI semantic model; it changes where the table data is retrieved.

    8 / 20
  9. DirectQuery trades the cache for source access

    The tradeoff moves to the source system. Every report interaction can create source work, so analytic queries may be slow when the source lacks suitable optimization or sufficient resources. They can also compete with other source workloads.

    Design DirectQuery with the database owner. The source may need indexes, materialized views, and capacity for the expected analytic workload. The source must be able to sustain interactive queries; otherwise, near-real-time access can produce a poor report experience.

    Not every data source supports DirectQuery. It is commonly available for major relational databases, plus supported Power BI semantic models and Azure Analysis Services models. If a connector only supports Import, it cannot become DirectQuery, even if you never refresh it.

    9 / 20
  10. DirectQuery trades the cache for source access

    DirectQuery also constrains data preparation. Power Query transformations in a DirectQuery model must translate into native queries understood by the source. If a transformation cannot be expressed for source execution, it cannot remain part of that DirectQuery path. For example, pivot and unpivot are not available transformations in this model framework.

    This restriction is part of the same design logic: DirectQuery depends on the source executing the work. Choose DirectQuery over Import only when the data is large, changes fast, requires near-real-time access, or must stay at its source by policy, and these needs outweigh Import's flexibility. Also check that a supported, well-resourced source can handle the report workload.

    For a large, rapidly changing on-premises source whose policy forbids copying, choose DirectQuery to that supported source.

    10 / 20
  11. Quick check

    Why must DirectQuery Power Query steps translate into the source's native queries?

    1. AThe table must first be fully imported

      A full local copy would be Import behavior, not DirectQuery.

    2. BThe source executes the transformations

      Correct. DirectQuery depends on source execution.

    3. CEvery database must become OneLake Delta tables

      OneLake Delta tables belong to Direct Lake, not DirectQuery.

    11 / 20

  12. Keep your progress in the app

    That’s 3 of 6 quick checks. In the app they stay answered, and every lesson remembers where you left off.

    Opens in your browser. Nothing to install.

    Start studying

    On your phone, with the same account

    Get it on Google Play Download on the App Store
    Keep reading here
  13. Direct Lake uses the lake without either detour

    Direct Lake is for Microsoft Fabric semantic models over lake data. Direct Lake reads Delta tables directly from OneLake for a Microsoft Fabric semantic model. It does not build a full imported copy of those tables, and it does not send each report query on an external DirectQuery round trip. Only the data needed to answer the query is loaded into memory, and the same VertiPaq engine that serves an Import model answers it from there.

    That distinction matters. Import introduces a copied-data and refresh workflow. DirectQuery sends work to an external source. Direct Lake instead uses the lake-native Delta tables already held in OneLake.

    Refresh is where the contrast is sharpest. An Import refresh produces a new copy of the data. A Direct Lake refresh copies only metadata, an operation called framing, and it repoints the model at the latest Delta files in a few seconds. Automatic updates or programmatic reframing are what make newer lake data visible, so reading the lake directly is not the same as having nothing to refresh.

    It is therefore not a generic label for any direct connection. The data location and format are part of the requirement: the analytical data must be available as Delta tables in OneLake.

    12 / 20
  14. Direct Lake uses the lake without either detour

    Direct Lake avoids a separate import and an external DirectQuery round trip when it reads OneLake Delta tables. Avoiding both data-import overhead and external query round trips makes it fast for many scenarios.

    If the data is... The matching path is...
    Copied into an in-memory model Import
    Kept in a supported external or on-premises source DirectQuery
    Already stored as Delta tables in OneLake Direct Lake

    Direct Lake still uses a semantic model to serve reports. It avoids the two data-access detours; it does not avoid the semantic model, the Delta tables, OneLake, or the report visual itself.

    13 / 20
  15. Quick check

    Why can Direct Lake be fast when analytical data already exists as Delta tables in OneLake?

    1. AIt avoids both a separate import and an external DirectQuery round trip

      Correct. Direct Lake reads OneLake Delta tables directly, avoiding import overhead and external-source query round trips.

    2. BIt removes the semantic model and queries report visuals directly

      A Fabric semantic model still serves the report; Direct Lake does not remove it.

    3. CIt converts every Delta table into a calculated table in memory

      Calculated tables stored in model memory are not the defining access path of Direct Lake.

    14 / 20

  16. Choose from requirements, not habit

    Start with Import whenever the cached copy, model size, and refresh behavior satisfy the requirements. It offers extensive modeling options and fast interactive performance. Reduce the data before loading it so that this preferred path remains practical.

    Move to DirectQuery when the source holds large or fast-changing data, users need near-real-time results, or policy prevents importing a copy. Verify that the connector is supported, transformations can translate to native queries, and the source can sustain interactive report traffic.

    Select Direct Lake when a Fabric semantic model must read Delta tables from OneLake directly, without a separate imported copy or an external DirectQuery round trip. Direct Lake is a location-and-format choice as much as a freshness choice.

    It also carries entry conditions. A Direct Lake semantic model requires a Fabric capacity license, so check the capacity before promising the mode. The variant matters too: Direct Lake on OneLake never falls back to DirectQuery. Direct Lake on a SQL analytics endpoint can fall back when it cannot read the Delta table directly, for example with a SQL view or with row-level security defined at that endpoint. If fallback is disabled, those queries fail instead.

    15 / 20
  17. Choose from requirements, not habit

    Use the scenario's non-negotiable requirement to decide:

    Scenario Best fit Why
    A manageable source accepts scheduled refresh and needs broad modeling flexibility with fast interactions Import The cached model satisfies both performance and design needs
    A large on-premises source changes rapidly, users need near-real-time results, and policy forbids a copy DirectQuery Data remains at the supported source and queries pass through
    A Fabric team already has analytical Delta tables in OneLake and wants direct access without a copy or external round trips Direct Lake The mode reads those lake-native tables directly

    Do not choose DirectQuery merely because it sounds more current, or Direct Lake merely because the project uses Fabric. Match the actual data residence, query path, and operational constraints.

    16 / 20
  18. Quick check

    OneLake holds the required Delta tables, and the team wants neither import nor external query round trips. Which mode fits?

    1. AImport

      Import creates the separate cached copy the team wants to avoid.

    2. BDirect Lake

      Correct. Direct Lake reads the OneLake Delta tables directly.

    3. CDirectQuery

      DirectQuery sends report queries to an external source.

    17 / 20

  19. Key takeaways

    • Import caches table data in the model. It supports broad sources, DAX, Power Query, and calculated tables, and favors fast interactive queries, but the cache requires refresh and is only as current as the last successful one.
    • DirectQuery leaves table data at a supported source and passes report queries to it. It suits large, rapidly changing, or non-copyable data, but source performance, source workload, connector support, and native-query translation become report concerns.
    • Direct Lake reads OneLake Delta tables directly for a Fabric semantic model. It avoids a separate import and an external DirectQuery round trip.
    18 / 20
  20. Key takeaways

    The practical default is Import when its copy, size, and refresh latency are acceptable. Change modes only when data residence, data velocity, freshness, or policy provides a stronger requirement.

    19 / 20
  21. Quick check

    Which reasoning applies the storage-mode decision correctly?

    1. AChoose DirectQuery for every source because a pass-through query is always faster than memory

      DirectQuery performance depends on the source and can be slower; pass-through is not automatically faster than an optimized in-memory cache.

    2. BChoose Direct Lake for every Fabric report, regardless of where and how its data is stored

      Direct Lake specifically requires Delta tables in OneLake; merely using Fabric does not establish that data path.

    3. CStart with Import when its cache and refresh latency are acceptable

      Correct. Import is the default starting point when its copy, size, and refresh behavior meet the requirements; switch to another path only when a stronger requirement demands it.

    20 / 20

  22. 6 quick checks · then the test

    In the app, finishing the quick checks opens this lesson’s 10-question test, and the ones you miss come back exactly when you’re about to forget them.

    Take this lesson’s test → Next lesson: Power Query Parameters

    Opens in your browser. Nothing to install.

    Start studying

    On your phone, with the same account

    Get it on Google Play Download on the App Store

The whole course, on your computer and your phone

Lessons you can read, audio you can listen to on the way to work, and practice that remembers what you got wrong.

Opens in your browser. Nothing to install.

Start studying

On your phone, with the same account

Get it on Google Play Download on the App Store

“This app is the ‘One Lake’ for preparing the certification exams. Really worth it.”

Abdelhak Y. Google Play review