MICROSOFT POWER BI • CONNECTING TO DATA

Import vs. DirectQuery vs. Live — Choose Import vs DirectQuery vs Live connection and explain tradeoffs (conceptual)

Understanding the three connectivity modes in Power BI and the latency, storage, and performance tradeoffs each introduces.

Historical Context & Motivation

Business intelligence tools have long faced a fundamental architectural tension: should the analytics engine maintain its own copy of the data, or should it reach back to the source system every time a user interacts with a report? In the early days of BI, the dominant paradigm was extraction—tools like OLAP cubes would pre-aggregate massive datasets into multidimensional structures stored locally, enabling sub-second response times at the cost of data freshness. As organizations began demanding real-time or near-real-time analytics alongside traditional warehousing, vendors had to rethink the connectivity contract between the visualization layer and the storage layer.

1990s
OLAP and Extract-Load Paradigm
Microsoft Analysis Services and similar OLAP engines popularized the idea of importing and pre-aggregating data into cubes. Analysts accepted stale data (often refreshed nightly) in exchange for blazing-fast query performance.
2009
PowerPivot Introduces In-Memory Import
Microsoft released PowerPivot as an Excel add-in, leveraging the VertiPaq columnar engine to import and compress data into RAM. This brought OLAP-class speed to self-service BI and laid the foundation for Power BI's Import mode.
2015
Power BI Desktop Launches with Import and DirectQuery
Power BI Desktop shipped with both Import and DirectQuery connectivity. Import used the VertiPaq engine; DirectQuery translated DAX into source-native SQL at query time, keeping data in the remote database.
2016–2017
Live Connection to SSAS and Power BI Service
Live Connection was formalized for SQL Server Analysis Services (SSAS) and Azure Analysis Services, allowing Power BI to act as a thin visualization layer over enterprise semantic models without hosting any data or model metadata locally.
2020s
Composite Models and Hybrid Tables
Microsoft introduced composite models, enabling a single dataset to blend Import and DirectQuery tables. Hybrid tables further blur the boundary, caching recent partitions while querying historical data via DirectQuery.

This historical progression reveals a recurring question in data systems design: where should computation and storage reside? Import, DirectQuery, and Live Connection represent three distinct answers to that question, each with well-defined tradeoffs in latency, resource consumption, data freshness, and modeling flexibility. Understanding these modes is essential for any data professional designing Power BI solutions at scale.

Core Principles & Definitions

At its core, the choice among Import, DirectQuery, and Live Connection is a decision about data residency and query execution location. These two dimensions—where the data physically lives and where analytical queries are processed—give rise to fundamentally different performance profiles, refresh semantics, and governance constraints. Before examining each mode in detail, it is useful to establish several foundational concepts that underpin the architecture.

1

Import (VertiPaq / In-Memory)

Data is extracted from the source, compressed using the VertiPaq columnar engine, and stored entirely within the Power BI dataset (.pbix). Queries execute against the local in-memory model, yielding sub-second response times. Data freshness depends on scheduled or on-demand refresh cycles.
2

DirectQuery (Pass-Through)

No data is imported. Every user interaction generates one or more queries that Power BI translates into the source system's native query language (e.g., T-SQL, M, or Kusto). Performance depends on the source system's capacity and network latency. Data is always current.
3

Live Connection (Thin Client)

Power BI connects to an existing Analysis Services model (SSAS Tabular/Multidimensional or Azure AS) or a Power BI Service dataset. No local model is created; measures, hierarchies, and relationships are defined in the remote semantic model. Power BI acts purely as a rendering layer.
4

Data Freshness vs. Performance

Import sacrifices freshness for speed; DirectQuery sacrifices speed for freshness; Live Connection inherits whatever refresh policy the upstream model implements. This tradeoff is analogous to cache coherence in CPU architecture—there is no free lunch.
5

Modeling Flexibility

Import mode offers full DAX and Power Query (M) functionality. DirectQuery restricts certain M transformations and DAX patterns. Live Connection disables local model authoring entirely—the remote model is the single source of truth for schema and business logic.
KEY TAKEAWAY
Think of Import mode as downloading an entire Git repository to your local machine—fast operations, but you must pull to get updates. DirectQuery is like running a remote shell session: every command hits the server in real time, so you always see the latest state, but latency depends on network and server load. Live Connection is analogous to opening a shared Google Doc—you neither copy the data nor define the schema; you simply view and interact with the authoritative version maintained elsewhere.

Visual Explanation — Data Flow Architecture

The following diagram illustrates the data flow and query execution path for each of the three connectivity modes. Notice how the location of data storage and query processing shifts across the architecture, which directly determines the performance and freshness characteristics discussed in the previous section.

The diagram shows three parallel data paths. Import (dashed blue) extracts data into the VertiPaq engine. DirectQuery (solid violet) translates queries at runtime. Live Connection (solid cyan) delegates entirely to an existing SSAS or Azure AS semantic model.

Observe that in Import mode, the data traverses the network exactly once during the refresh operation, after which all queries are resolved locally within the VertiPaq engine. This is why Import mode consistently delivers the fastest interactive experience. DirectQuery, by contrast, introduces a round-trip for every visual interaction—filtering a slicer, hovering over a bar chart, or drilling down into a hierarchy each generates one or more queries that must travel to the source, execute, and return results before the visual can render. Live Connection behaves similarly to DirectQuery in terms of network dependency, but the critical distinction is that no local semantic model exists—you cannot add calculated columns, define new measures, or create relationships in Power BI Desktop when using a Live Connection.

How Each Mode Works Under the Hood

Import Mode — The VertiPaq Engine

When you select Import, Power BI invokes the Power Query (M) engine to connect to each source, apply any transformations you defined, and then serialize the resulting tables into the VertiPaq columnar store. VertiPaq uses dictionary encoding and run-length encoding to compress data aggressively—often achieving 10× compression ratios—and stores entire columns contiguously in memory. At query time, the DAX formula engine and the storage engine collaborate to scan only the columns referenced by the query, leveraging segment elimination and bitmap indexing. Because all data resides in RAM, query latency is typically on the order of tens of milliseconds for datasets up to several gigabytes.

EFFECTIVE QUERY LATENCY — IMPORT
T_import ≈ T_DAX_eval + T_VertiPaq_scan
Where T_DAX_eval is the DAX formula engine evaluation time and T_VertiPaq_scan is the columnar storage scan time. Both occur entirely in local memory, so network latency is zero at query time.

DirectQuery Mode — Query Translation at Runtime

In DirectQuery mode, Power BI stores only the model metadata—table schemas, relationships, and measure definitions—but no actual row data. When a user interacts with a visual, the DAX engine compiles the request into one or more queries in the source's native language. For a SQL Server source, this means generating T-SQL; for an SAP HANA source, SQL with HANA-specific extensions. The query is dispatched over the network, executed by the source database engine, and the result set is returned to Power BI for rendering. The dominant term in the latency equation shifts to the source system's query execution time and the round-trip network delay.

EFFECTIVE QUERY LATENCY — DIRECTQUERY
T_directquery ≈ T_DAX_compile + T_network_RTT + T_source_exec + T_result_transfer
T_DAX_compile is the time to translate DAX into native SQL. T_network_RTT is the round-trip network latency. T_source_exec is the source database execution time (depends on indexing, concurrency, data volume). T_result_transfer is the time to return the result set over the wire.

Live Connection — Delegated Semantic Model

Live Connection is architecturally the simplest from Power BI's perspective. The .pbix file contains only the report layout (visuals, pages, formatting) and a connection string to the remote Analysis Services instance or Power BI Service dataset. All DAX queries generated by visuals are sent directly to the remote model, which may itself be Import-based (VertiPaq on the SSAS server) or DirectQuery-based. The performance you experience therefore depends entirely on the remote model's configuration. The key constraint is that you cannot modify the data model from Power BI Desktop—no new tables, columns, measures, or relationships can be added locally. This enforces centralized governance but limits report-specific customization.

EFFECTIVE QUERY LATENCY — LIVE CONNECTION
T_live ≈ T_network_RTT + T_remote_model_query
T_remote_model_query includes both the DAX evaluation and the storage engine scan on the remote SSAS/Azure AS instance. If the remote model uses Import (VertiPaq), T_remote_model_query is fast; if it uses DirectQuery, the remote model itself incurs source database latency.
🔗 On-Premises Gateway
Both DirectQuery and Live Connection to on-premises sources require the On-Premises Data Gateway to bridge the Power BI Service (cloud) and the local network. This gateway introduces additional latency and becomes a potential bottleneck for concurrent users. Import mode also needs the gateway for refresh, but only during the scheduled refresh window—not at query time.

Detailed Tradeoff Analysis

Choosing the right connectivity mode requires evaluating multiple dimensions simultaneously. The following comparison table and diagram synthesize the key tradeoffs along six axes: query performance, data freshness, dataset size limits, modeling flexibility, source system impact, and governance control. No single mode dominates on all axes, which is precisely why all three exist.

Comparison of the three Power BI connectivity modes across six dimensions
DimensionImportDirectQueryLive Connection
Query PerformanceFastest — sub-second; all in RAMVariable — depends on source DB, indexing, and networkDepends on remote model (often fast if SSAS uses VertiPaq)
Data FreshnessStale between refreshes (up to 8×/day Pro; 48×/day Premium)Real-time — always hits the sourceDepends on remote model's refresh policy
Max Dataset Size1 GB (Pro) / 400 GB (Premium per dataset)No limit — data stays at sourceNo limit — model lives on SSAS/Azure AS
Modeling FlexibilityFull — all DAX, calculated columns, Power Query transformsPartial — no calculated columns; limited M transformsNone locally — model is defined entirely on the server
Source System LoadSpike during refresh onlyContinuous — every user interaction queries the sourceContinuous on SSAS; indirect on underlying source
Governance & Single Source of TruthEach report can have its own model — risk of divergenceEach report can have its own model — risk of divergenceStrong — single centralized semantic model
The radar chart shows that Import excels in query speed and modeling flexibility but scores lower on data freshness and scalability. DirectQuery leads in data freshness and scalability (no dataset size cap) but suffers on query speed and source load. Live Connection provides the strongest governance posture but sacrifices local modeling flexibility.

One often-overlooked factor is the concurrency multiplier of DirectQuery. If a report page contains 12 visuals and 50 users open it simultaneously, the source database may receive 600 queries nearly at once. In Import mode, those same 50 users read from the in-memory cache with no additional source impact. This operational consideration is critical for data engineers who must protect transactional databases from analytical query storms.

Worked Example — Selecting a Connectivity Mode

Consider the following scenario: a mid-sized e-commerce company has a 15 GB transactional database in Azure SQL, a 200 GB data warehouse in Azure Synapse Analytics, and an existing SSAS Tabular model used by the finance team. The analytics team needs to build three Power BI reports. Let us walk through the decision process for each.

Scenario Analysis: Three Reports, Three Modes
1
Step 1 — Identify Report RequirementsReport A: Executive KPI dashboard with 6 visuals pulling from the 15 GB Azure SQL transactional database. Data must be no more than 15 minutes stale. The audience is 20 executives. Report B: Operational monitoring dashboard hitting the 200 GB Synapse warehouse. Data must be real-time. The audience is 100 operations staff. Report C: Financial reporting for the CFO office that must use the official SSAS Tabular model (the single source of truth for all revenue metrics). The audience is 10 finance analysts.
2
Step 2 — Evaluate Report A Against the Tradeoff MatrixThe 15 GB dataset exceeds the 1 GB Pro limit for Import but fits comfortably within Premium's 400 GB cap. If the organization has Premium capacity, Import is viable and would deliver the best interactive performance. With only 20 users, source load is not a major concern. However, the 15-minute freshness requirement means we need at least 96 refreshes per day, which exceeds even Premium's 48/day limit via scheduled refresh—though incremental refresh or the XMLA endpoint could help. Alternatively, DirectQuery satisfies the freshness requirement trivially because every query hits live data. Given that only 20 users and 6 visuals are involved, the source load (~120 concurrent queries max) is manageable.
Report A → DirectQuery (real-time freshness, manageable concurrency; or Import with Premium + incremental refresh if sub-second response is prioritized)
3
Step 3 — Evaluate Report B Against the Tradeoff MatrixThe 200 GB warehouse far exceeds even Premium Import limits. Import is therefore not feasible. Real-time data is required. The audience of 100 users is large, but Azure Synapse is designed for high-concurrency analytical workloads with built-in query scaling. DirectQuery is the natural choice here, especially since Synapse supports result-set caching and materialized views that can dramatically reduce query latency.
Report B → DirectQuery (dataset too large for Import; Synapse handles concurrent DQ queries well)
4
Step 4 — Evaluate Report C Against the Tradeoff MatrixThe finance team already maintains an SSAS Tabular model that defines official KPIs, hierarchies, and security roles. Building a separate Import or DirectQuery model in Power BI would duplicate business logic and risk metric divergence. A Live Connection preserves the SSAS model as the single source of truth and respects the row-level security already configured. The CFO office's small user count (10) keeps server load minimal.
Report C → Live Connection (centralized governance, single source of truth, existing security roles)
5
Step 5 — Summarize the Decision FrameworkThe worked example demonstrates that the decision is not about which mode is 'best' in absolute terms. It is about matching each report's constraints—data volume, freshness requirements, user concurrency, source system capabilities, and governance needs—to the mode whose tradeoff profile aligns most favorably.

Strengths, Limitations & When to Use Each

Decision guide: which mode fits which scenario
CriterionBest ModeRationale
Sub-second dashboard responseImportVertiPaq in-memory scans are the fastest query path available in Power BI.
Dataset > 10 GB (Pro) or > 400 GB (Premium)DirectQueryData remains at the source; no size ceiling imposed by Power BI.
Real-time or near-real-time dataDirectQueryEvery query retrieves the latest state of the source.
Centralized semantic model governanceLive ConnectionPrevents model proliferation; single source of truth for metrics.
Complex DAX / calculated columnsImportFull DAX engine support. DirectQuery disallows calculated columns.
Minimal source system impactImportAfter refresh, no further queries hit the source database.
Existing SSAS investment / RLS in SSASLive ConnectionLeverages existing security, KPIs, and perspectives without duplication.
KEY TAKEAWAY
If you have studied operating systems, you can think of Import mode as an application that memory-maps an entire file—maximum throughput but bounded by available RAM. DirectQuery is analogous to a file system that performs I/O on every read—unlimited file size, but throughput is bottlenecked by the storage medium and bus bandwidth. Live Connection resembles an NFS mount: you access a remote file system transparently, bound by its permissions and performance, with zero local caching.

Composite Models & The Evolving Landscape

The strict trichotomy of Import, DirectQuery, and Live Connection has softened considerably with the introduction of composite models in Power BI. A composite model allows a single dataset to contain both Import and DirectQuery tables, and even to chain a DirectQuery connection to a remote Power BI dataset (formerly the exclusive domain of Live Connection). This means you can import frequently accessed dimension tables for fast filtering while keeping massive fact tables in DirectQuery mode—a pattern reminiscent of materialized views in relational databases.

Evolution from classic modes to composite models
FeatureClassic Modes (Pre-2020)Composite Models (Current)
Storage modes per tableEntire dataset must be Import OR DirectQueryEach table can be Import, DirectQuery, or Dual (both)
Chaining to remote datasetsOnly via Live Connection (no local modeling)DirectQuery to Power BI dataset + local tables allowed
Aggregation tablesNot supportedUser-defined aggregation tables cached in Import; detail in DirectQuery
Relationship cross-sourceNot possibleLimited (many-to-many or one-to-one across storage modes)

Looking forward, Microsoft's investment in hybrid tables and automatic aggregations (Premium feature) further automates the Import/DirectQuery boundary. Automatic aggregations use machine learning to identify frequently queried patterns, cache their results in VertiPaq, and fall back to DirectQuery for ad hoc queries—essentially implementing a query cache without manual aggregation table design. As these features mature, the explicit choice among Import, DirectQuery, and Live Connection may become less of a binary architectural decision and more of a tuning parameter that can be adjusted dynamically. Nonetheless, understanding the fundamental tradeoffs remains essential for debugging performance issues, designing security models, and right-sizing infrastructure.

⚠️ Composite Models Caveat
Composite models introduce a new concept called storage mode at the table level: Import, DirectQuery, or Dual. A Dual table is cached in memory (like Import) but also participates in DirectQuery relationships. Incorrect storage mode assignment can cause unexpected performance degradation—particularly when a Dual table acts as a bridge between Import and DirectQuery tables, triggering in-memory filtering that must be reconciled with source queries.

Practice Problems

PROBLEM 1CONCEPTUAL
Explain why Import mode can deliver sub-second query response times even for datasets containing millions of rows, while DirectQuery cannot guarantee the same. In your answer, reference the role of the VertiPaq engine and the components of the DirectQuery latency equation.
PROBLEM 2BASIC CALCULATION
A Power BI report page contains 10 visuals, each generating one query. The report is published to the Power BI Service and accessed by 40 concurrent users. (a) In DirectQuery mode, how many queries does the source database receive when all 40 users open the page simultaneously? (b) In Import mode, how many queries hit the source at that moment?
PROBLEM 3INTERMEDIATE
A retail company has a 50 GB sales fact table and a 500 MB product dimension table. They need dashboards with near-real-time sales data. They have Power BI Premium capacity. Propose a connectivity strategy and justify your choice, considering that composite models are available.
PROBLEM 4APPLIED
A healthcare organization's compliance team mandates that all patient data analytics must use a single, centrally governed semantic model with row-level security defined by a DBA team. The model is hosted on an on-premises SSAS Tabular instance. However, one analyst needs to add a custom calculated measure that does not exist in the SSAS model. Explain the connectivity mode the organization should use and propose a solution for the analyst's custom measure requirement.
PROBLEM 5CRITICAL THINKING
Argue that the distinction between Import, DirectQuery, and Live Connection is a specific instance of a more general systems-design tension. Identify at least two analogous tradeoffs from other areas of computer science (e.g., caching, distributed systems, database design) and explain how they map to the Power BI connectivity modes. Does the CAP theorem have any relevance here?

Lesson Summary

Power BI offers three fundamental connectivity modes. Import mode uses the VertiPaq columnar engine to compress and cache data in memory, delivering sub-second query performance at the cost of data freshness (data is only as current as the last refresh) and dataset size limits (1 GB Pro, up to 400 GB Premium). DirectQuery translates every user interaction into source-native queries at runtime, providing real-time data and unlimited scale but introducing latency that depends on network, source capacity, and concurrency load on the source system. Live Connection delegates entirely to a remote SSAS or Azure Analysis Services model, providing the strongest governance and single-source-of-truth guarantees at the cost of zero local modeling flexibility.

Modern composite models blur these boundaries by allowing Import and DirectQuery tables within a single dataset, and features like automatic aggregations and hybrid tables further automate the placement of data along the freshness-performance spectrum. The choice among modes is analogous to the consistency-availability tradeoff in distributed systems: there is no universally optimal answer, only a context-dependent best fit driven by data volume, freshness requirements, user concurrency, source system resilience, and organizational governance policy.

Varsity Tutors • Microsoft Power BI • Import vs. DirectQuery vs. Live Connection