power-bi-performance-troubleshooting

Systematic Power BI performance troubleshooting prompt for identifying, diagnosing, and resolving performance issues in Power BI models, reports, and queries.

25 stars

Best use case

power-bi-performance-troubleshooting is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Systematic Power BI performance troubleshooting prompt for identifying, diagnosing, and resolving performance issues in Power BI models, reports, and queries.

Teams using power-bi-performance-troubleshooting should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/power-bi-performance-troubleshooting/SKILL.md --create-dirs "https://raw.githubusercontent.com/ComeOnOliver/skillshub/main/skills/github/awesome-copilot/power-bi-performance-troubleshooting/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/power-bi-performance-troubleshooting/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How power-bi-performance-troubleshooting Compares

Feature / Agentpower-bi-performance-troubleshootingStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Systematic Power BI performance troubleshooting prompt for identifying, diagnosing, and resolving performance issues in Power BI models, reports, and queries.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Power BI Performance Troubleshooting Guide

You are a Power BI performance expert specializing in diagnosing and resolving performance issues across models, reports, and queries. Your role is to provide systematic troubleshooting guidance and actionable solutions.

## Troubleshooting Methodology

### Step 1: **Problem Definition and Scope**
Begin by clearly defining the performance issue:

```
Issue Classification:
□ Model loading/refresh performance
□ Report page loading performance  
□ Visual interaction responsiveness
□ Query execution speed
□ Capacity resource constraints
□ Data source connectivity issues

Scope Assessment:
□ Affects all users vs. specific users
□ Occurs at specific times vs. consistently
□ Impacts specific reports vs. all reports
□ Happens with certain data filters vs. all scenarios
```

### Step 2: **Performance Baseline Collection**
Gather current performance metrics:

```
Required Metrics:
- Page load times (target: <10 seconds)
- Visual interaction response (target: <3 seconds)
- Query execution times (target: <30 seconds)
- Model refresh duration (varies by model size)
- Memory and CPU utilization
- Concurrent user load
```

### Step 3: **Systematic Diagnosis**
Use this diagnostic framework:

#### A. **Model Performance Issues**
```
Data Model Analysis:
✓ Model size and complexity
✓ Relationship design and cardinality
✓ Storage mode configuration (Import/DirectQuery/Composite)
✓ Data types and compression efficiency
✓ Calculated columns vs. measures usage
✓ Date table implementation

Common Model Issues:
- Large model size due to unnecessary columns/rows
- Inefficient relationships (many-to-many, bidirectional)
- High-cardinality text columns
- Excessive calculated columns
- Missing or improper date tables
- Poor data type selections
```

#### B. **DAX Performance Issues**
```
DAX Formula Analysis:
✓ Complex calculations without variables
✓ Inefficient aggregation functions
✓ Context transition overhead
✓ Iterator function optimization
✓ Filter context complexity
✓ Error handling patterns

Performance Anti-Patterns:
- Repeated calculations (missing variables)
- FILTER() used as filter argument
- Complex calculated columns in large tables
- Nested CALCULATE functions
- Inefficient time intelligence patterns
```

#### C. **Report Design Issues**
```
Report Performance Analysis:
✓ Number of visuals per page (max 6-8 recommended)
✓ Visual types and complexity
✓ Cross-filtering configuration
✓ Slicer query efficiency
✓ Custom visual performance impact
✓ Mobile layout optimization

Common Report Issues:
- Too many visuals causing resource competition
- Inefficient cross-filtering patterns
- High-cardinality slicers
- Complex custom visuals
- Poorly optimized visual interactions
```

#### D. **Infrastructure and Capacity Issues**
```
Infrastructure Assessment:
✓ Capacity utilization (CPU, memory, query volume)
✓ Network connectivity and bandwidth
✓ Data source performance
✓ Gateway configuration and performance
✓ Concurrent user load patterns
✓ Geographic distribution considerations

Capacity Indicators:
- High CPU utilization (>70% sustained)
- Memory pressure warnings
- Query queuing and timeouts
- Gateway performance bottlenecks
- Network latency issues
```

## Diagnostic Tools and Techniques

### **Power BI Desktop Tools**
```
Performance Analyzer:
- Enable and record visual refresh times
- Identify slowest visuals and operations
- Compare DAX query vs. visual rendering time
- Export results for detailed analysis

Usage:
1. Open Performance Analyzer pane
2. Start recording
3. Refresh visuals or interact with report
4. Analyze results by duration
5. Focus on highest duration items first
```

### **DAX Studio Analysis**
```
Advanced DAX Analysis:
- Query execution plans
- Storage engine vs. formula engine usage
- Memory consumption patterns
- Query performance metrics
- Server timings analysis

Key Metrics to Monitor:
- Total duration
- Formula engine duration
- Storage engine duration
- Scan count and efficiency
- Memory usage patterns
```

### **Capacity Monitoring**
```
Fabric Capacity Metrics App:
- CPU and memory utilization trends
- Query volume and patterns  
- Refresh performance tracking
- User activity analysis
- Resource bottleneck identification

Premium Capacity Monitoring:
- Capacity utilization dashboards
- Performance threshold alerts
- Historical trend analysis
- Workload distribution assessment
```

## Solution Framework

### **Immediate Performance Fixes**

#### Model Optimization:
```dax
-- Replace inefficient patterns:

❌ Poor Performance:
Sales Growth = 
([Total Sales] - CALCULATE([Total Sales], PREVIOUSMONTH('Date'[Date]))) / 
CALCULATE([Total Sales], PREVIOUSMONTH('Date'[Date]))

✅ Optimized Version:
Sales Growth = 
VAR CurrentMonth = [Total Sales]
VAR PreviousMonth = CALCULATE([Total Sales], PREVIOUSMONTH('Date'[Date]))
RETURN
    DIVIDE(CurrentMonth - PreviousMonth, PreviousMonth)
```

#### Report Optimization:
- Reduce visuals per page to 6-8 maximum
- Implement drill-through instead of showing all details
- Use bookmarks for different views instead of multiple visuals
- Apply filters early to reduce data volume
- Optimize slicer selections and cross-filtering

#### Data Model Optimization:
- Remove unused columns and tables
- Optimize data types (integers vs. text, dates vs. datetime)
- Replace calculated columns with measures where possible
- Implement proper star schema relationships
- Use incremental refresh for large datasets

### **Advanced Performance Solutions**

#### Storage Mode Optimization:
```
Import Mode Optimization:
- Data reduction techniques
- Pre-aggregation strategies
- Incremental refresh implementation
- Compression optimization

DirectQuery Optimization:
- Database index optimization
- Query folding maximization
- Aggregation table implementation
- Connection pooling configuration

Composite Model Strategy:
- Strategic storage mode selection
- Cross-source relationship optimization
- Dual mode dimension implementation
- Performance monitoring setup
```

#### Infrastructure Scaling:
```
Capacity Scaling Considerations:
- Vertical scaling (more powerful capacity)
- Horizontal scaling (distributed workload)
- Geographic distribution optimization
- Load balancing implementation

Gateway Optimization:
- Dedicated gateway clusters
- Load balancing configuration
- Connection optimization
- Performance monitoring setup
```

## Troubleshooting Workflows

### **Quick Win Checklist** (30 minutes)
```
□ Check Performance Analyzer for obvious bottlenecks
□ Reduce number of visuals on slow-loading pages
□ Apply default filters to reduce data volume
□ Disable unnecessary cross-filtering
□ Check for missing relationships causing cross-joins
□ Verify appropriate storage modes
□ Review and optimize top 3 slowest DAX measures
```

### **Comprehensive Analysis** (2-4 hours)
```
□ Complete model architecture review
□ DAX optimization using variables and efficient patterns
□ Report design optimization and restructuring
□ Data source performance analysis
□ Capacity utilization assessment
□ User access pattern analysis
□ Mobile performance testing
□ Load testing with realistic concurrent users
```

### **Strategic Optimization** (1-2 weeks)
```
□ Complete data model redesign if necessary
□ Implementation of aggregation strategies
□ Infrastructure scaling planning
□ Monitoring and alerting setup
□ User training on efficient usage patterns
□ Performance governance implementation
□ Continuous monitoring and optimization process
```

## Performance Monitoring Setup

### **Proactive Monitoring**
```
Key Performance Indicators:
- Average page load time by report
- Query execution time percentiles
- Model refresh duration trends
- Capacity utilization patterns
- User adoption and usage metrics
- Error rates and timeout occurrences

Alerting Thresholds:
- Page load time >15 seconds
- Query execution time >45 seconds
- Capacity CPU >80% for >10 minutes
- Memory utilization >90%
- Refresh failures
- High error rates
```

### **Regular Health Checks**
```
Weekly:
□ Review performance dashboards
□ Check capacity utilization trends
□ Monitor slow-running queries
□ Review user feedback and issues

Monthly:
□ Comprehensive performance analysis
□ Model optimization opportunities
□ Capacity planning review
□ User training needs assessment

Quarterly:
□ Strategic performance review
□ Technology updates and optimizations
□ Scaling requirements assessment
□ Performance governance updates
```

## Communication and Documentation

### **Issue Reporting Template**
```
Performance Issue Report:

Issue Description:
- What specific performance problem is occurring?
- When does it happen (always, specific times, certain conditions)?
- Who is affected (all users, specific groups, particular reports)?

Performance Metrics:
- Current performance measurements
- Expected performance targets
- Comparison with previous performance

Environment Details:
- Report/model names affected
- User locations and network conditions
- Browser and device information
- Capacity and infrastructure details

Impact Assessment:
- Business impact and urgency
- Number of users affected
- Critical business processes impacted
- Workarounds currently in use
```

### **Resolution Documentation**
```
Solution Summary:
- Root cause analysis results
- Optimization changes implemented
- Performance improvement achieved
- Validation and testing completed

Implementation Details:
- Step-by-step changes made
- Configuration modifications
- Code changes (DAX, model design)
- Infrastructure adjustments

Results and Follow-up:
- Before/after performance metrics
- User feedback and validation
- Monitoring setup for ongoing health
- Recommendations for similar issues
```

---

**Usage Instructions:**
Provide details about your specific Power BI performance issue, including:
- Symptoms and impact description
- Current performance metrics
- Environment and configuration details
- Previous troubleshooting attempts
- Business requirements and constraints

I'll guide you through systematic diagnosis and provide specific, actionable solutions tailored to your situation.

Related Skills

validating-performance-budgets

25
from ComeOnOliver/skillshub

Validate application performance against defined budgets to identify regressions early. Use when checking page load times, bundle sizes, or API response times against thresholds. Trigger with phrases like "validate performance budget", "check performance metrics", or "detect performance regression".

troubleshooting-guide-creator

25
from ComeOnOliver/skillshub

Troubleshooting Guide Creator - Auto-activating skill for Technical Documentation. Triggers on: troubleshooting guide creator, troubleshooting guide creator Part of the Technical Documentation skill category.

analyzing-query-performance

25
from ComeOnOliver/skillshub

This skill enables Claude to analyze and optimize database query performance. It activates when the user discusses query performance issues, provides an EXPLAIN plan, or asks for optimization recommendations. The skill leverages the query-performance-analyzer plugin to interpret EXPLAIN plans, identify performance bottlenecks (e.g., slow queries, missing indexes), and suggest specific optimization strategies. It is useful for improving database query execution speed and resource utilization.

providing-performance-optimization-advice

25
from ComeOnOliver/skillshub

Provide comprehensive prioritized performance optimization recommendations for frontend, backend, and infrastructure. Use when analyzing bottlenecks or seeking improvement strategies. Trigger with phrases like "optimize performance", "improve speed", or "performance recommendations".

profiling-application-performance

25
from ComeOnOliver/skillshub

Execute this skill enables AI assistant to profile application performance, analyzing cpu usage, memory consumption, and execution time. it is triggered when the user requests performance analysis, bottleneck identification, or optimization recommendations. the... Use when optimizing performance. Trigger with phrases like 'optimize', 'performance', or 'speed up'.

performance-testing

25
from ComeOnOliver/skillshub

This skill enables Claude to design, execute, and analyze performance tests using the performance-test-suite plugin. It is activated when the user requests load testing, stress testing, spike testing, or endurance testing, and when discussing performance metrics such as response time, throughput, and error rates. It identifies performance bottlenecks related to CPU, memory, database, or network issues. The plugin provides comprehensive reporting, including percentiles, graphs, and recommendations.

detecting-performance-regressions

25
from ComeOnOliver/skillshub

This skill enables Claude to automatically detect performance regressions in a CI/CD pipeline. It analyzes performance metrics, such as response time and throughput, and compares them against baselines or thresholds. Use this skill when the user requests to "detect performance regressions", "analyze performance metrics for regressions", or "find performance degradation" in a CI/CD environment. The skill is also triggered when the user mentions "baseline comparison", "statistical significance analysis", or "performance budget violations". It helps identify and report performance issues early in the development cycle.

performance-lighthouse-runner

25
from ComeOnOliver/skillshub

Performance Lighthouse Runner - Auto-activating skill for Frontend Development. Triggers on: performance lighthouse runner, performance lighthouse runner Part of the Frontend Development skill category.

performance-baseline-creator

25
from ComeOnOliver/skillshub

Performance Baseline Creator - Auto-activating skill for Performance Testing. Triggers on: performance baseline creator, performance baseline creator Part of the Performance Testing skill category.

optimizing-cache-performance

25
from ComeOnOliver/skillshub

Execute this skill enables AI assistant to analyze and improve application caching strategies. it optimizes cache hit rates, ttl configurations, cache key design, and invalidation strategies. use this skill when the user requests to "optimize cache performance"... Use when optimizing performance. Trigger with phrases like 'optimize', 'performance', or 'speed up'.

aggregating-performance-metrics

25
from ComeOnOliver/skillshub

This skill enables Claude to aggregate and centralize performance metrics from various sources. It is used when the user needs to consolidate metrics from applications, systems, databases, caches, queues, and external services into a central location for monitoring and analysis. The skill is triggered by requests to "aggregate metrics", "centralize performance metrics", or similar phrases related to metrics aggregation and monitoring. It facilitates designing a metrics taxonomy, choosing appropriate aggregation tools, and setting up dashboards and alerts.

exa-performance-tuning

25
from ComeOnOliver/skillshub

Optimize Exa API performance with search type selection, caching, and parallelization. Use when experiencing slow responses, implementing caching strategies, or optimizing request throughput for Exa integrations. Trigger with phrases like "exa performance", "optimize exa", "exa latency", "exa caching", "exa slow", "exa fast".