(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisbon
Power BI: incremental reports and hybrid DirectQuery for large-scale data
Power BI

Power BI: incremental reports and hybrid DirectQuery for large-scale data

João Barros 05/08/2026 6 min

When data volumes reach tens or hundreds of millions of rows, many Power BI reports become slow or lose the timeliness needed for decision-making. The solution is not to choose only between importing everything into the model or using DirectQuery exclusively: it is to learn how to build a hybrid strategy that preserves performance, data freshness, and cost controls.

This is an urgent topic: retail, telecommunications, and financial services companies already handle fact tables with 100M+ records and acceptable latency measured in minutes, not hours. Knowing how to apply incremental loads, partitions, and well-defined DirectQuery cutover points can reduce dashboard response times by 5x–10x and cut storage and compute costs while keeping reports with near real-time data.

Why a hybrid approach matters today

Importing data into the Power BI model offers extremely fast queries because everything is pre-aggregated and compressed in memory. However, importing everything is not sustainable: models sized in hundreds of GB increase Premium costs or saturate the Power BI Service. On the other hand, DirectQuery avoids data duplication but depends entirely on the source performance — and each query can incur latencies from hundreds of milliseconds to seconds, plus unpredictable costs on cloud-based warehouses.

Power BI: relatórios incrementais e DirectQuery híbrido para dados em grande escala

A hybrid solution combines incremental loads for stable historical partitions and DirectQuery for recent or high-refresh-frequency data. This way, you can deliver interactive reports with response times of sub‑seconds to a few seconds for most analyses, while keeping the ability to see transactions in near real time when it is critical.

How to design the hybrid model: practical principles

The starting point is to classify tables and columns by three criteria: volume, volatility, and recomputation cost. Fact tables with sustainable growth but little change (e.g., sales by day older than 30+ days) are excellent candidates for Import. Streaming data, active user sessions, or same-day transactions should remain in DirectQuery or be cached at a high frequency.

Partitions and incremental policies are essential. In Power BI Desktop/Service, configure incremental refresh policies to load only new partitions, reducing refresh time and cost by 90%+ compared to a daily full refresh on large tables. Complementarily, implement indexes and materialized views at the source (SQL Server, Synapse, Databricks) to accelerate DirectQuery queries.

Concrete strategies and implementation patterns

There are repeatable patterns that work well in companies with multiple sources and variable loads. A common pattern is the "hot‑cold‑archive": keep 7–30 days in DirectQuery (hot), 6–12 months in Import (cold) with monthly partitions, and archive to another repository for infrequent historical analysis. Another approach is Power BI's "composite model", which allows tables in Import and DirectQuery in the same model while preserving relationships and DAX measures that aggregate data coherently.

From an operational perspective, monitoring is crucial: use the Premium Metrics app and usage logs to identify frequent and slow queries, and trace refresh failures. In real cases, teams that applied this pattern reduced average dashboard latencies from 3s to 600ms and cut compute costs on cloud platforms by about 30% in the first quarter.

Mini case study: omnichannel retail with 120M rows

Imagine a retail team consolidating online and in-store sales: the transactions table grew to 120M rows. Commercial reports require historical analysis by product and operational dashboards need day-to-day visibility with up to 5 minutes delay. The team implemented the hot‑cold‑archive pattern: the last 14 days remained in DirectQuery over an optimized view in Synapse, the last 12 months were imported with monthly partitions and compression, and older data was placed in Azure Data Lake for deep analysis.

To accelerate DirectQuery, they created clustered indexes and materialized views for aggregated metrics by store‑day. Incremental refreshes in Power BI began loading only the partitions for the last month, reducing daily refresh time from 6 hours to 40 minutes. The result was immediate: users had interactive dashboards with average response times below 1s for common filters, and the data team reduced Synapse compute consumption by 28% thanks to precomputed aggregations.

Advanced techniques: caching, scheduling and security

Beyond model design, caching and scheduling techniques refine the experience. Power BI Premium allows configuring Query Caching for repeated results; combined with smart retention policies, this reduces load on the source. Schedule incremental refreshes in off‑peak windows and use refresh on demand for critical reports after ETL loads.

Do not neglect security: hybrid models increase the dependency surface. Ensure consistent security by using row‑level security (RLS) applied centrally when possible, or duplicate RLS in source views for DirectQuery. Audit queries and use network certificates and managed identities to minimize risks of exposed credentials.

Actionable checklist to get started now

  • Identify tables by volume/volatility and classify them as Import/DirectQuery/hybrid.
  • Configure partitions and incremental refresh for Import tables (daily/weekly/monthly partitions).
  • Optimize the source for DirectQuery: indexes, materialized views, and parameterized queries.
  • Use composite models to combine Import and DirectQuery in the same report.
  • Monitor latencies and costs with Premium Metrics and logs; adjust caching policies.

Implementing these steps typically takes one to three weeks per critical report, depending on source complexity. The payoff is a sustainable compromise between performance, cost, and data freshness — essential for teams that need fast insights without sacrificing reliability.

For teams still hesitating, a proof of concept with a key dashboard (e.g., daily sales by region) is a good first step: in 2–4 weeks it is possible to validate performance gains and quantify cost reductions before generalizing the pattern.

Adopting a hybrid strategy in Power BI turns reports that were an operational burden into agile, cost-effective data products. Which critical report in your organization is worth transforming first?

← Back to insights
Let's talk?

Ready to transform your data?

Book a free 30-minute meeting and find out how we can help your team make better decisions.

Book a Free Meeting
bConcepts