What problem does it solve?
Slow DAX queries in Power BI and Microsoft Fabric semantic models are hard to diagnose because bottlenecks can hide in the Formula Engine, the Storage Engine, high-cardinality columns, or the query syntax itself. This Skill provides a structured methodology plus an executable rule catalog that turns trace events, query plans, and Vertipaq statistics into concrete, prioritized optimization findings.
Core Features & Use Cases
- Engine balance analysis: Splits total duration into Formula Engine vs Storage Engine time from trace events to determine whether the query is FE-bound or SE-bound.
- Executable rule catalog: A declarative JSON ruleset (17 rules) detects CallbackDataID, IFERROR usage, FILTER over full tables, nested iterators, high-cardinality columns, slow SE scans, and more, each with severity, message, recommendation, and references.
- Cardinality and plan inspection: Uses Vertipaq Analyzer statistics and physical query plan operators (spools, scans, callbacks) to pinpoint expensive columns and materializations.
- Use Case: A report visual takes 8 seconds to render. Run the query in the DAX test widget, capture the trace and query plan, and the rule engine reports that IFERROR inside an iterator forces CallbackDataID, recommending DIVIDE and precomputed variables instead.
Quick Start
Ask the assistant to analyze why your DAX query is slow using the dax-optimization methodology and rule catalog, providing the query text and any captured trace or query plan.