Module 10
5 min read
Performance Optimization
Make your Power BI reports fast and efficient
What You'll Learn
- Why reports get slow
- Quick fixes for speed
- Best practices for fast reports
Why Reports Get Slow

| Problem | Cause |
|---|---|
| Slow loading | Too much data |
| Slow visuals | Complex DAX |
| Slow interactions | Too many visuals |
| Slow refresh | Large model size |
Quick Wins (Do These First!)

| Fix | Impact |
|---|---|
| Remove unused columns | ⭐⭐⭐ High |
| Limit date range | ⭐⭐⭐ High |
| Use Top N filters | ⭐⭐ Medium |
| Reduce visuals to 5-7 | ⭐⭐ Medium |
| Use Import mode | ⭐⭐⭐ High |
Data Model Tips
Less data = faster report!
| Slow ❌ | Fast ✓ |
|---|---|
| 5 years daily data | 2 years monthly data |
| 50 columns | 10 used columns |
| Calculated columns | Power Query columns |
| Decimal numbers | Integer numbers |
DAX Tips
Use variables - calculate once, use many times:
// Slow ❌
Result = [Sales] / [Sales] * 100
// Fast ✓
Result =
VAR Total = [Sales]
RETURN Total / Total * 100
Performance Analyzer
Find what's slow!

View → Performance Analyzer → Start Recording
| Metric | Good | Bad |
|---|---|---|
| DAX query | < 100ms | > 500ms |
| Visual display | < 50ms | > 200ms |
| Total | < 200ms | > 1 second |
Golden Rules
| Rule | Why |
|---|---|
| Keep model under 1 GB | Loads faster |
| Max 7 visuals per page | Less queries |
| Filter early in Power Query | Less data to process |
| Avoid bidirectional relationships | Simpler calculations |
Try This
- Open Performance Analyzer
- Click Start Recording
- Refresh Visuals
- Find the slowest visual
- Add a Top 10 filter to it
- Refresh again - see the improvement!
Tip: 80% of performance = good data model. Fix the model first, then optimize DAX!