power-bi-performancelisted
Install: claude install-skill mudassir09/pbi-enterprise-cli
# power-bi-performance
Query tracing, benchmarking, VertiPaq analysis, and storage/formula engine diagnostics.
## Quick Reference
```bash
# Trace a DAX query
pbi trace start --query "EVALUATE SUMMARIZE(Sales, Calendar[Year], \"Rev\", SUM(Sales[Revenue]))"
pbi trace start --measure "Total Revenue" --duration 30s
pbi trace start --query-file ./queries/slow.dax --output ./traces/slow-trace.json
# Benchmark a measure
pbi benchmark --measure "Total Revenue" --iterations 10
pbi benchmark --measure "YTD Revenue" --iterations 20 --json
# VertiPaq / model size analysis
pbi trace model-stats
pbi trace model-stats --json | jq '.tables | sort_by(.sizeBytes) | reverse | .[0:5]'
```
---
## Worked Example 1: Profile a slow visual
```bash
# 1 — Capture a trace while the slow visual refreshes
pbi trace start --duration 60s --output ./traces/dashboard-trace.json
# (manually refresh the slow visual in Desktop during the 60s window)
# 2 — Inspect the trace
cat ./traces/dashboard-trace.json | jq '.events[] | select(.durationMs > 500)'
# 3 — Benchmark the suspected measure
pbi benchmark --measure "Complex KPI" --iterations 20 --json
```
---
## Worked Example 2: VertiPaq table size analysis
```bash
pbi trace model-stats --json > model-stats.json
# Top 5 tables by size
jq '.tables | sort_by(.sizeBytes) | reverse | .[0:5] |
.[] | {name: .name, sizeMB: (.sizeBytes / 1048576 | round),
rows: .rowCount, cardinality: .columnCardinality}' model-stats.json
```
Expected outpu