Join a roster of people to a table of survey responses and something quietly breaks. A person with four responses now appears four times. Count them and the population inflates. Average anything and the people who answered more often weigh more than the people who answered once.
This is fan-out, and it is the most common way a technically correct dashboard reports a wrong number.
The instinct is to fix it in the measure: swap a count for a distinct count and move on. That works until a second table joins in, or until someone filters the view, and then it quietly stops working again. The real fix is to decide, explicitly, what level of detail each measure should be computed at, and to fix it there regardless of the row grain the join produced.
Two things about that are easy to get wrong. A fixed-level calculation has to be anchored to a field that actually exists at the level you mean. Anchor it one table too far away and it lands in the wrong context and returns something plausible and wrong. And fixed-level calculations ignore the filters on the view unless those filters are deliberately promoted into context, sheet by sheet. Plausible and wrong again.
The habit that prevents most of this: before building anything, say out loud what one row of the final result represents. One person. One person per year. One response. If you cannot say it in a short sentence, the model is not ready and no calculation will rescue it.