Skip to content

Max Value Best Practices

Guidelines for getting reliable signal from Max Value checks while keeping the noise (and the maintenance) low.

Remember the ceiling is accepted

value <= maximum is the rule, so a row holding exactly the maximum passes. When the limit is "strictly below", use Less Than with the inclusive toggle off rather than shifting the number by an arbitrary amount.

Anchor the ceiling to a rule, not to today's data

A ceiling derived from the current maximum starts failing the moment the business legitimately grows. Anchor it to a contractual limit, a regulatory cap, or a physical maximum, and record that reasoning in the description so a future reader can tell a data problem from an outdated rule.

Use Between when both ends matter

Max Value guards one side. When the value also has a meaningful floor, Between states the whole rule in one check and lets you set inclusivity per side.

Pair with Not Null when the value is mandatory

NULL values pass. The rule asserts that present values satisfy it; it does not require the field to be populated. When the field must also have a value, add a Not Null check on the same field.

Keep coverage at 100% unless a known backlog exists

For a scalar numeric field, 100% coverage reports every failing row as a Record Anomaly, which tells you exactly which values break the rule. Below 100% the check reports a single Shape Anomaly only when the failing fraction crosses the tolerance, and no per-row detail is produced. A numeric field nested inside an array always reports a Shape Anomaly, regardless of coverage. Lower coverage only while a known set of legacy rows is being cleaned up.

Scope with a filter instead of loosening coverage

When the rule only applies to part of the table (one product line, one tier, one period), express that with a filter clause rather than by lowering coverage. The filter removes the out-of-scope rows from evaluation entirely, and the expression is echoed in every anomaly message.

Route the anomalies to the right people

An out-of-bounds number usually comes from an application that failed to validate its input, or from a unit mismatch upstream. Set an Anomaly Assignee from the team that owns that producer, and tag the check so related checks are easy to find.

See Also