Aggregations and Incremental Refresh
Aggregations & Incremental Refresh for Big Data Analytics
When an enterprise data warehouse contains hundreds of millions or billions of rows (e.g., retail point-of-sale transactions, web traffic logs, IoT telemetry), loading the entire dataset via standard Import mode is technically or commercially impossible.
Advanced BI architects solve the Big Data challenge using two enterprise techniques:
- 1Incremental Refresh (Pulls only newly modified partitions).
- 2User-Defined Aggregations (Pre-computes summary tables in memory).
1. Incremental Refresh: Partitioning Big Data
Instead of re-importing 10 years of historical data every single morning, Incremental Refresh divides the dataset into historical partitions:
Implementing Incremental Refresh:
- 1In Power Query, create two reserved parameters:
RangeStart(Data type:Date/Time)RangeEnd(Data type:Date/Time)
- 1Filter your Fact table's date column using these parameters:
- 1Ensure Query Folding is active!
- 2In Power BI Desktop Model View, right-click the Fact table $\to$ Incremental refresh.
- 3Define the policy:
- Archive data starting: 5 Years.
- Incrementally refresh data starting: 7 Days.
- Check Detect data changes (uses a timestamp column like
LastModifiedDateto refresh only changed rows).
2. User-Defined Aggregations (Composite Performance)
User-defined aggregations let you maintain a hidden in-memory summary table alongside a massive DirectQuery fact table:
Managing Aggregations:
- 1In Model View, right-click your aggregate table $\to$ Manage aggregations.
- 2Map aggregate columns to the detail table (e.g.,
Agg_Sales[TotalSales]maps toSUMofFact_Sales[SalesAmount]). - 3Hide the aggregate table from end-users so they interact only with the clean dimensional model.
Multiple Choice Questions
Performance Analyzer Tool
Continue learning with hands-on practice, examples, and exercises in the upcoming topic.
Related Lessons
| Previous Lesson | Next Lesson |
|---|---|
| Optimizing DAX Queries | Performance Analyzer Tool |
Practice Quiz
Test your understanding of this lesson with 5 questions. Each question has one correct answer.