27.2 Performance Analyzer
Start with a problem
Ravindra needs evidence of which visual is slow.
Explain simply
Performance Analyzer records time per visual: DAX query, visual display, other.
Show the data
| Visual | DAX query (ms) | Visual display (ms) | Other (ms) | Total (ms) |
|---|---|---|---|---|
| Sales card | 40 | 15 | 20 | 75 |
| City bar chart | 120 | 60 | 30 | 210 |
| Store matrix (all columns) | 2,600 | 900 | 150 | 3,650 |
| Category donut | 90 | 40 | 25 | 155 |
| Slicer City | 20 | 10 | 15 | 45 |
About this data: This table uses columns: Visual, DAX query (ms), Visual display (ms), Other (ms), Total (ms). This table uses columns: Visual, Total time (ms). This table uses columns: Visual, Before (ms), After (ms), Fix. Values shown are the lesson examples already on this page (not a new dataset).
Fictional sample data. Practice file: performance_analyzer_sample.csv (source: src/practice/).
Demonstrate
- Optimize › Performance analyzer › Start recording.
- Click Refresh visuals.
- Stop; expand the Store matrix.
- Copy query to DAX query view to inspect.
Show the result
Your result should look like this (fictional sample):
| Visual | DAX query (ms) | Visual display (ms) | Other (ms) | Total (ms) |
|---|---|---|---|---|
| Sales card | 40 | 15 | 20 | 75 |
| City bar chart | 120 | 60 | 30 | 210 |
| Store matrix (all columns) | 2,600 | 900 | 150 | 3,650 |
| Category donut | 90 | 40 | 25 | 155 |
| Slicer City | 20 | 10 | 15 | 45 |
Explain what happened
DAX query time is the model work; visual display is rendering; other is waiting.
Explore further
- Export results as JSON for comparison.
Detailed reference for this lesson:
Performance Analyzer in Power BI with example — in 30 seconds
What: Performance Analyzer records how long each visual takes, split into DAX query, visual display and other.
Why: The page takes 40 seconds to open. You must know which visual is slow before you fix anything.
Tiny example: One table visual takes 31,200 ms of the 40,000 ms. Fix that visual first.
Performance Analyzer in Power BI with example — 30 सेकंदात
काय: Performance Analyzer प्रत्येक visual ला किती वेळ लागतो ते record करतो, DAX query, visual display आणि other मध्ये विभागून.
का: Page उघडायला 40 सेकंद लागतात. काहीही fix करण्याआधी कोणता visual slow आहे ते माहीत पाहिजे.
छोटं उदाहरण: 40,000 ms पैकी 31,200 ms एकटा table visual घेतो. आधी तोच fix करा.
Performance Analyzer in Power BI with example — 30 सेकंड में
क्या: Performance Analyzer हर visual में लगने वाला समय record करता है, DAX query, visual display और other में बाँटकर.
क्यों: Page खुलने में 40 सेकंड लगते हैं. कुछ भी fix करने से पहले पता होना चाहिए कि कौन-सा visual slow है.
छोटा उदाहरण: 40,000 ms में से 31,200 ms अकेला table visual लेता है. पहले वही fix कीजिए.
First look at the data (before → after):
Same before / after tables as text
Before — Slow page (fictional timings, total 40,000 ms)
| Visual | Total time (ms) |
|---|---|
| Card: Total Sales | 180 |
| Bar: Sales by city | 420 |
| Table: all orders (5 lakh rows, 12 columns) | 31,200 |
| Map: stores | 8,200 |
Formula / click path
View › Performance Analyzer › Start recording › Refresh visuals
Sort by Total time · expand the slowest visual · Copy query
After — After fixing the two slowest visuals
| Visual | Before (ms) | After (ms) | Fix |
|---|---|---|---|
| Table: all orders | 31,200 | 900 | Top 100 rows, 5 columns, full detail via drill through |
| Map: stores | 8,200 | 2,100 | Latitude and longitude instead of address text |
| Page total | 40,000 | 3,600 | Card and bar unchanged (180 + 420) |
Do it step by step:
- Click View › Performance Analyzer.
- Click Start recording. Then click Refresh visuals.
- Sort by Total time. Expand the slowest visual.
- Read the parts: DAX query, Visual display and Other.
- If DAX query is big, click Copy query and test it in DAX query view.
- Fix one visual. Record again. Compare the numbers.
एक-एक step करून बघा:
- View › Performance Analyzer वर click करा.
- Start recording वर click करा. मग Refresh visuals वर click करा.
- Total time ने sort करा. सगळ्यात slow visual expand करा.
- भाग वाचा: DAX query, Visual display आणि Other.
- DAX query मोठा असेल तर Copy query वर click करा आणि DAX query view मध्ये test करा.
- एक visual fix करा. पुन्हा record करा. Numbers ची तुलना करा.
एक-एक step करके देखिए:
- View › Performance Analyzer पर click कीजिए.
- Start recording पर click कीजिए. फिर Refresh visuals पर click कीजिए.
- Total time से sort कीजिए. सबसे slow visual expand कीजिए.
- हिस्से पढ़िए: DAX query, Visual display और Other.
- DAX query बड़ा हो तो Copy query पर click कीजिए और DAX query view में test कीजिए.
- एक visual fix कीजिए. फिर से record कीजिए. Numbers की तुलना कीजिए.
What you should see on screen after the steps (sample layout — fictional data, not a Microsoft screenshot).
- Optimize › Performance analyzer (in older versions: View › Performance analyzer).
- Click Start recording, then Refresh visuals (or interact with slicers).
- Each visual is listed with its duration in milliseconds, split into:
| Part | Meaning |
|---|---|
| DAX query | Time for the engine to run the query – high values point to the model or DAX |
| Visual display | Time to draw the visual – high for visuals with many data points or custom visuals |
| Other | Waiting time (e.g. for other visuals) and preparation work |
| Direct query | (DirectQuery only) Time spent waiting for the source database |
- Expand a visual and click Copy query to analyse the DAX in DAX query view or in the free community tool DAX Studio.
- Export saves the results as a JSON file.
Test fairly
Friends, test from a blank page first (so caches are not already warm), then switch to the page you want to measure. Compare before/after timings for each change you make.
Performance Analyzer ha doctor sarkha aahe – aadhi nidan, mag ilaj.
Ravindra Bagale's Tip
A common Performance Analyzer mistake is recording once with a warm cache and trusting the numbers. Click Refresh visuals while recording, test a few times, and look at DAX query vs Visual display vs Other to know whether the problem is the model, the visual or too many visuals. Don't worry – after doing it two or three times, it becomes a habit.
Ravindra Bagale's Tip – मराठी
Performance Analyzer मधली एक common चूक म्हणजे warm cache असताना एकदाच record करून त्या numbers वर विश्वास ठेवणं. Record करताना Refresh visuals click करा, काही वेळा test करा, आणि problem model मध्ये आहे, visual मध्ये आहे की visuals खूप जास्त आहेत हे कळण्यासाठी DAX query vs Visual display vs Other बघा. घाबरू नका, दोन-तीन वेळा केलं की सवय होते.
Ravindra Bagale's Tip – हिंदी
Performance Analyzer की एक common गलती है warm cache के साथ एक बार record करके उन numbers पर भरोसा कर लेना. Record करते समय Refresh visuals click करो, कुछ बार test करो, और DAX query vs Visual display vs Other देखो ताकि पता चले कि problem model में है, visual में है या visuals बहुत ज़्यादा हैं. घबराओ मत, दो-तीन बार करने पर आदत हो जाती है.
Fix common mistakes
| Wrong result | Reason | Correction |
|---|---|---|
| Times very high first run only | Cache cold | Refresh visuals twice |
| Only one visual listed | Started after load | Start then Refresh visuals |
| Optimised display when DAX is slow | Misread columns | Fix the largest part |
Practise independently
Practice task
Which part of the matrix time is largest?
Hints
- 2,600 vs 900.
Solution
DAX query (2,600 ms).
Think like a professional
Quote numbers before/after – it proves impact.
Revision card
Interview card