← All services
Power BIDAXPerformance

DAX Performance Clinic

Your measures work. But do they need to be this complicated?

A focused review of DAX logic, performance and maintainability for models where the calculation layer has become difficult to reason about.

Start with what is actually happening.

  • Measures contain deeply nested CALCULATE statements.
  • The same business rule appears in several different measures.
  • Some visuals are slow without an obvious reason.
  • Developers hesitate to change existing measures.
  • Workarounds have become permanent but nobody remembers why.

Good work starts with better questions.

01

Which measures are genuinely expensive?

02

Which patterns can be simplified?

03

Where is logic repeated unnecessarily?

04

Is DAX solving a problem that belongs in the model or upstream?

The scope follows the problem.

I do not force every engagement through the same checklist. These are the areas that may matter; the agreed scope determines how deep we go.

Filter context and CALCULATE behaviour

Iterators and virtual tables

FILTER patterns and context transition

Repeated expressions and reusable logic

Formula Engine vs Storage Engine pressure

Measure dependencies and organisation

Readability and maintainability

Something you can use after the conversation ends.

The output should help you make a decision, change a practice or move the work forward. It should not exist simply to prove that work happened.

01

DAX Findings

The measures and patterns creating the most cost or complexity.

02

Refactored Examples

Concrete examples showing how selected calculations can be made clearer or faster.

03

Performance Priorities

Where optimisation effort is most likely to be worth it.

04

Reusable Patterns

Approaches the team can apply beyond the reviewed measures.

05

Developer Walkthrough

A technical session focused on reasoning, not just corrected code.

Enough structure to make the work clear. Not so much process that the process becomes the work.

01

Context

We start with a short conversation about what is happening, what matters and what has already been tried.

02

Review

I analyse the relevant parts of the solution or operating model at the depth agreed for the engagement.

03

Prioritise

I organise observations around impact, risk and usefulness — not around how many issues I can find.

04

Walkthrough

We go through the findings together, challenge assumptions and discuss trade-offs.

05

Next step

You decide what happens next: implement internally, continue together or stop because the focused engagement was enough.

I keep the client-side time demand deliberately light. A focused assessment usually needs a kickoff conversation, access or materials, and a final review session. We agree the exact involvement before we start.

This is likely to help if...

  • The model broadly works but the measure layer has become difficult to maintain.
  • You want an independent review of slow or complex calculations.
  • You want developers to understand why a different pattern may be better.
  • The bottleneck is clearly outside DAX.
  • You need somebody to write a large set of measures from scratch without review or knowledge transfer.

If the problem is real but the format is wrong, that is useful to know early. I would rather redirect the conversation than force the challenge into the wrong service.

This does not automatically lead to another engagement.

Sometimes the focused piece of work is enough. If it reveals a useful next step, these are some of the directions that may make sense.

Your measures work. But do they need to be this complicated?

Bring me the problem, not a polished brief. A few sentences about what is happening and what you would like to change are enough to start.

Tell me what's happening

Send me a message.

You do not need a polished brief. Whether the topic is Power BI, Fabric, AI, team training, mentoring, coaching or simply a challenge that needs untangling, leave a few details and we can start from there.

SIGNALMESSAGECONVERSATION

AI & TRANSPARENCY

AI supports selected parts of my work — it does not replace my judgement, responsibility or relationship with the client.

I use AI tools for tasks such as research, organising information, structuring content and preparing materials. I treat AI as support for my work — not as an autonomous author or decision-maker. Anything I publish or use professionally remains my responsibility.

In coaching, I do not use AI to automatically assess, diagnose or make decisions about a client. AI does not replace attention, confidentiality or human responsibility for the coaching relationship.

AI may support the process. Human responsibility remains.