Skip to content

Greater Than Best Practices

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

Set inclusivity deliberately

The difference between > and >= shows up exactly at the threshold, where real data tends to cluster. Decide before saving the check whether the threshold value itself is acceptable, rather than discovering it from the first anomaly.

Reach for the tolerance only when the noise is real

A comparator that absorbs rounding differences keeps a useful check quiet. A comparator set 'just in case' hides the small regressions the check exists to catch. Set a margin you can justify, and prefer a relative margin when the column mixes very different magnitudes.

Use Min Value when the rule is a plain bound

Greater Than carries inclusivity and tolerance. When neither is needed, Min Value states the same rule with a single property, and its floor is always exclusive with no tolerance available.

Compare against another column with the field variant

When the threshold is not a constant but another column on the same row, use Greater Than Field instead of hardcoding a number that goes stale.

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

At 100% coverage every failing row is reported 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. 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