Defensive DAX

A DAX bug rarely announces itself. The report refreshes, the visual renders, and the number is wrong. This series is about writing measures and columns that assume the data will be messy, because it will be, and that cope with it instead of quietly giving the wrong answer.

Start with the five mistakes that quietly break reports. Most of what follows in the series builds on the same few habits: prefix your variables, handle blanks before anything else, use DIVIDE, and check list membership properly.

Parts appear below as they go live, newest at the top.