Performance Analyser in Power BI
Use of Performance Analyzer to examine report element performance in Power BI Desktop
Performance Analyzer in Power BI Desktop (added in May 2019) is one of the most underused yet powerful tools for keeping reports fast. Many report creators skip it, but it can instantly reveal which visuals or DAX measures are slowing a page, without needing any external setup. It times DAX Query, Visual Display, and Other processes, so you know exactly where the delay is whether in the query, rendering, or background tasks.
What is Performance Analyzer in Power BI ?
- Helps analyze performance of report visuals and DAX formulas.
- Measures how visuals behave when users interact with them.
- Identifies which elements are taking the most time to load or refresh.

How to Open Performance Analyzer Pane ?
- Open Power BI Desktop.
- Go to the Optimize ribbon.
- Click on Performance Analyzer.
- The pane will open on the right side of the report canvas.

What Performance Analyzer Does ?
- Lets you view, drill down, and export logs.
- Tracks the time taken to refresh or update visuals.
- Displays real-time logs for slicers, visuals, etc.
- Helps in identifying which visual causes performance issues.

How to Use Performance Analyzer ?
- Click Start recording to begin performance tracking.
- Every user action (like selecting slicer or visual) is logged in sequence.
- Helps identify slow visuals or queries behind them.
- Once started, Start recording becomes grayed out and Stop becomes active.
Refreshing Visuals in Performance Analyzer:
- Click Refresh visuals in the Performance Analyzer pane to refresh all visuals on the current report page.
- This ensures Performance Analyzer captures performance data for every visual on that page.
- You can also refresh individual visuals:
- While recording, click Analyze this visual (top-right corner of a visual) to refresh only that visual.
- This is useful when you want to test the performance of a single visual without affecting others.

Understanding Performance Analyzer Output:
For each visual, the log will show:
- DAX Query : Time taken for the visual to query the dataset.
- Visual Display : Time taken to render and display the visual.
- Other : Time spent on background processes, waiting for queries, or preparing data.

Detailed Parameters Explained:
- DAX Query (ms) : Measures query execution time in milliseconds.
- Visual Display (ms) : Measures rendering time of the visual.
- Other (ms) : Time used for other tasks like preparing queries, waiting for data, or processing.
Exporting Performance Logs:
- After you finish recording, click Export to save the performance log.
- Save it as a .json file for further analysis in external tools.

Using the Exported JSON File for Optimization:
- You can open the exported .json file in tools like:
| Tool Name | Why It’s Useful | Free / Paid | Category |
| DAX Studio | Deep dive into slow DAX measures, long-running queries, and heavy relationships; includes server timings and query plans for precise tuning. | Free | DAX Optimization / Query Tuning |
| Tabular Editor 3 | Optimize at the model level remove unused columns, reduce table size, improve relationships, and apply best practices via scripting. | Paid | Data Model Optimization |
| SQL Profiler | Trace queries hitting the backend, useful in enterprise or DirectQuery models to monitor database-level performance. | Free | Query Tracing |
| VertiPaq Analyzer (via DAX Studio) | Identify tables and columns consuming the most memory, helping you shrink model size for faster loads and queries. | Free | Memory Usage Analysis |
Conclusion:
Stop guessing measure. Hit Record, refresh, and see whether the slowdown is DAX Query, Visual Display, or “Other.” Fix the loudest culprit first, then export the JSON and validate in DAX Studio or Tabular Editor. Re-test and keep a simple before/after note. Do this whenever you add a new measure or visual, and your pages will stay fast.