DAX checker
Paste your Power BI measures and get an instant review against the patterns I see most often in client models: division that breaks on zero, IFERROR hiding real errors, FILTER over whole tables, blanks turned into zeros and more. Each finding comes with the pattern to use instead.
Nothing you paste leaves your browser. There is no upload and no account.
Measures
One measure per line as Name = expression, or paste measure blocks straight from a PBIP project’s TMDL files. Format lays them out in the SQLBI style, in your browser.
Findings
Eighteen checks, from broken to untidy.
Division with /
Errors or infinity on a zero or blank denominator. DIVIDE returns BLANK.
IFERROR and ISERROR
Hide broken references and slow the engine. Guard the specific case instead.
Unbalanced brackets
An opening bracket with no partner, so the measure will not compile.
VAR without RETURN
A block of variables that never says what the measure gives back.
Unqualified columns
SUM and friends given [Column] with no table, which reads like a measure.
FILTER over a whole table
Iterates every row and can override filters on other columns.
COUNTROWS over FILTER
A CALCULATE with a column predicate lets the storage engine do the work.
Blanks turned into zero
Fills tables with zero rows and slows every visual that uses the measure.
FORMAT in a measure
Returns text, which sorts alphabetically and cannot be charted or totalled.
Time intelligence on a fact table
Needs a marked date table with one row per day and no gaps.
EARLIER
Hard to follow. Capture the outer value in a VAR instead.
Hard-coded years
A fixed date that quietly stops working when the calendar moves on.
Repeated expressions
The same measure or CALCULATE evaluated twice where a VAR would do.
Nested IFs
Three or more levels deep. SWITCH ( TRUE () ) lists them in order.
IF, HASONEVALUE, VALUES
SELECTEDVALUE does the same in one call.
SUMX over one column
The plain aggregator does the same work and says what it means.
ALL as a CALCULATE filter
REMOVEFILTERS does the same and says so.
Long single lines
Break the expression up so a reviewer and a diff can see its structure.