Min Value Best Practices
Guidelines for getting reliable signal from Min Value checks while keeping the noise (and the maintenance) low.
Remember the floor is rejected
value > minimum is the rule, so a row holding exactly the minimum is flagged. Setting the floor to 0 therefore rejects zero as well as negatives. When zero should pass, set the floor to a lower number, or use Not Negative which accepts zero by definition.
Watch the asymmetry when pairing with Max Value
Min Value is exclusive and Max Value is inclusive. Using them as a pair on the same column produces a half-open range that is easy to misread. Between states both sides in one check with explicit inclusivity for each.
Anchor the floor to a rule, not to today's data
A floor derived from the current minimum starts failing the moment a legitimate smaller value appears. Anchor it to a business or physical limit, and record that reasoning in the description so a future reader can tell a data problem from an outdated rule.
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
-
How It Works
The complete reference: definition, field scope, the floor property, NULL handling, nested array fields, filter behavior, and coverage.
-
Anomaly Reporting
The anomaly messages the check produces, what the numbers mean, Source Records highlighting, and Custom Anomaly Description.
-
Examples
Three production scenarios with sample data, anomaly messages, and the SQL equivalent of what the check evaluates.
-
Permissions
The team permission each action needs: view, create, edit, archive, restore, and delete.