A DAX measure is written once and read for years, usually by someone who was not in the room when it was written. Most measures are optimised for the moment of writing: terse, clever, unreadable a month later. The measures that survive are the ones that read like a sentence.
Name for the reader
Measure 2 and Sum of Amount 1 are confessions, not names. A good measure name says what it returns and in what unit: Repairs Completed (MTD), Arrears Balance, No-Access Rate %. The name is the first line of documentation and the one everyone sees.
Use variables as steps
Variables are not just a performance tool; they are how you show your working. Each VAR is a named step, so the logic reads top to bottom like a paragraph, and it is far easier to follow and to debug when something looks wrong.
No Access Rate % =
VAR Appointments = COUNTROWS( Appointment )
VAR NoAccess =
CALCULATE(
COUNTROWS( Appointment ),
Appointment[Outcome] = "No access"
)
RETURN
DIVIDE( NoAccess, Appointments )Anyone can read that, top to bottom, and say what it does. Compare it to the same logic nested into a single DIVIDE with two CALCULATEs inline, and you see the difference between code that works and code that lasts.
Always DIVIDE, never slash
Small disciplines compound. Use DIVIDE for safe division so a zero denominator gives a blank, not an error. Keep one measure to one idea. Comment the genuinely non-obvious. The goal is that the next analyst changes the measure confidently, because they can read it.
Write every measure for the analyst who inherits it. Often, that analyst is you, a year from now.