← LeaderboardThe Skill Leaderboard

dax

DAX performance optimization for semantic models. Automatically invoke when the user asks to "optimize DAX", "fix slow DAX", "DAX performance", "tune a measure", "debug a measure", "DAX anti-patterns", or mentions slow queries, server timings, or DAX authoring.

Published by data-goblin ↗data-goblin/power-bi-agentic-development

Try your first task

A source-grounded starter task has not been verified for this skill yet.

SKILL.md

name: daxdescription: DAX performance optimization for semantic models. Automatically invoke when the user asks to "optimize DAX", "fix slow DAX", "DAX performance", "tune a measure", "debug a measure", "DAX anti-patterns", or mentions slow queries, server timings, or DAX authoring.

DAX

Skills and references for writing, debugging, and optimizing DAX in semantic models.

Object references

Write column references as 'Table'[Column]: the table name is always present and always in single quotes. Write measure references as [Measure], never prefixed with a table. This applies everywhere DAX or model metadata names an object: measure, calculated column and calculation item expressions, RLS filters, format string expressions, DAX queries (te query, pbir model -q), and descriptions or annotations that mention an object.

Why: a measure belongs to the model rather than to its home table, so moving it between tables must not change any expression that uses it; a bare [Measure] also tells the reader at a glance that it is a measure and not a column. An unqualified column is ambiguous as soon as two tables share a column name, and quoting every table name keeps one consistent form whether or not the name needs quotes.

Optimization

For systematic DAX query performance optimization, read the workflow reference first:

references/dax-performance-optimization.md — Tiered framework (4 tiers), phased workflow, decision guide, and error handling.

Detailed reference files (progressive disclosure — consult as directed by the workflow):

Trace capture and performance profiling:

  • Local models (Power BI Desktop): Use the Tabular Editor CLI te query (see the te-cli skill) first; as an alternative, the connect-pbid skill covers FE/SE timing (performance-profiling.md) and intermediate result inspection (evaluateandlog-debugging.md).
  • Remote models (Fabric Service / XMLA): Run DAX with the Tabular Editor CLI te query (-s <workspace> -d <model>) against the workspace XMLA endpoint; see the te-cli skill (tabular-editor plugin).
  • Power BI Modeling MCP: also available for trace and query if you prefer an MCP tool; reach for it after the options above.

User-defined functions

  • references/udf-authoring.md — UDF signatures, the parameter type system, VAL versus EXPR evaluation, type checks, patterns and testing

Related Skills