Power Bi Performance Troubleshooting
power-bi-performance-troubleshooting skill for programming & development
A diagnostic skill for resolving Power BI performance issues, covering DAX optimization, data model tuning, query folding, and report load time improvement.
What Is This?
Overview
This skill provides systematic troubleshooting for slow Power BI reports, including DAX optimization, query folding verification, visual rendering, and incremental refresh for large datasets.
Who Should Use This
Perfect for Power BI report developers facing slow dashboards, data analysts optimizing complex data models, BI architects designing high-performance enterprise reports, and admins managing Power BI capacity resources.
Why Use It?
Problems It Solves
Reports become slow as data grows and DAX complexity increases. Without systematic analysis, developers apply random fixes instead of addressing root causes.
Core Highlights
- DAX Optimization - Identify and rewrite expensive DAX formulas
- Model Tuning - Optimize relationships, cardinality, and storage modes
- Query Folding - Verify transformations push to the data source
- Visual Optimization - Reduce visual count and interaction overhead
- Capacity Planning - Right-size Power BI Premium or Fabric capacity
How to Use It?
Basic Usage
Describe your performance issue, and this skill guides systematic diagnosis.
Scenario 1: Slow DAX Measures
Ask Claude: "My Power BI report takes 30 seconds to load"
Claude will guide optimization:
// SLOW: Row-by-row iteration
Sales Amount Slow =
SUMX(
Sales,
RELATED(Product[UnitPrice]) * Sales[Quantity] * (1 - Sales[Discount])
)
// FAST: Pre-calculated column or optimized measure
Sales Amount Fast =
SUMX(
Sales,
Sales[LineTotal]
)
// SLOW: Unnecessary CALCULATE wrapping
Total Sales Slow = CALCULATE(SUM(Sales[Amount]))
// FAST: Simple aggregation
Total Sales Fast = SUM(Sales[Amount])
// SLOW: FILTER with full table scan
High Value Orders Slow =
CALCULATE(
[Total Sales],
FILTER(Sales, Sales[Amount] > 1000)
)
// FAST: Boolean filter context
High Value Orders Fast =
CALCULATE(
[Total Sales],
Sales[Amount] > 1000
)Scenario 2: Data Model Analysis
Tell Claude: "How do I check if query folding is working?"
Claude will explain:
Power Query Editor Diagnosis Steps:
1. Open Power Query Editor
2. Right-click on the last applied step
3. Check if "View Native Query" is available
- Available = Query folding is working
- Grayed out = Query folding broke at this step
Common folding breakers:
- Table.AddColumn with custom functions
- Table.Buffer or List.Buffer calls
- Merges between different data sources
- Complex conditional logic in added columns
Fix: Move transformations that break folding
to DAX calculated columns instead.Real-World Examples
Enterprise Dashboard Optimization
A Fortune 500 company reduced load time from 45 to 3 seconds by replacing complex SUMX measures with pre-aggregated columns, cutting visuals from 30 to 15, and enabling incremental refresh.
Capacity Right-Sizing
A consulting firm diagnosed Power BI Premium capacity throttling. Analysis revealed 3 reports consuming 80% of resources due to DirectQuery mode. Switching to Import mode with incremental refresh eliminated throttling.
Advanced Tips
Performance Analyzer
Use Power BI Desktop's Performance Analyzer to record visual rendering times. Sort by duration to identify the slowest visuals and their underlying DAX queries for targeted optimization.
Aggregation Tables
Create aggregation tables for large DirectQuery datasets. Power BI automatically routes queries to pre-aggregated tables when possible, reducing query time dramatically.
When to Use It?
Use Cases
- Slow Reports - Diagnose and fix reports with long load times
- DAX Optimization - Rewrite expensive measures for better performance
- Model Design - Optimize relationships and storage for large datasets
- Capacity Issues - Troubleshoot Premium or Fabric capacity throttling
- Query Folding - Verify Power Query transformations fold to source
Related Topics
When you ask Claude these questions, this skill will activate:
- "My Power BI report is slow"
- "Optimize DAX performance"
- "Fix Power BI load time"
- "Power BI query folding not working"
Important Notes
Requirements
- Power BI Desktop for Performance Analyzer and model editing
- DAX Studio for advanced query profiling (recommended)
- Access to the data source for query folding verification
- Understanding of star schema data modeling principles
Usage Recommendations
Do:
- Profile before optimizing - Use Performance Analyzer to identify bottlenecks
- Simplify DAX first - Remove unnecessary CALCULATE wrappers and FILTER calls
- Reduce visual count - Fewer visuals means fewer queries per page load
- Use Import mode - Prefer Import over DirectQuery when data freshness allows
Don't:
- Don't add visuals blindly - Each visual generates separate queries
- Don't use complex DAX in filters - Keep slicer and filter formulas simple
- Don't skip aggregations - Large tables need aggregation layers
Limitations
- Performance Analyzer only measures client-side rendering times
- DirectQuery performance depends on source database optimization
- Some DAX patterns cannot be optimized without model restructuring
- Incremental refresh requires Power BI Pro or Premium licensing
More Skills You Might Like
Explore similar skills to enhance your workflow
Providers
Configures and manages authentication providers for Better Auth
Prioritize Features
Prioritize a backlog of feature ideas based on impact, effort, risk, and strategic alignment with top 5 recommendations. Use when prioritizing a
Analyzing Ethereum Smart Contract Vulnerabilities
Perform static and symbolic analysis of Solidity smart contracts using Slither and Mythril to detect reentrancy,
Csharp Concurrency Patterns
Implement async/await, channels, and parallel patterns in C# applications
Wordpress Elementor
A Claude Code skill for wordpress elementor workflows and automation
Ideal Customer Profile
Identify the Ideal Customer Profile (ICP) from research data with demographics, behaviors, JTBD, and needs. Use when defining your ICP, analyzing