Skip to content

Min Value Check FAQ

Answers to common questions about how the Min Value check sets a floor under a numeric field, how the floor behaves, and how anomalies are reported, grouped by topic.

Behavior

Is the floor inclusive or exclusive?

Exclusive. The comparison is value > minimum, so a row holding exactly the minimum is flagged. Min Value has no inclusivity toggle; use Greater Than with the inclusive toggle on when the floor itself must pass.

Why is Max Value inclusive while Min Value is exclusive?

They are asymmetric by design: Max Value accepts the ceiling (value <= maximum), while Min Value requires values strictly above the floor (value > minimum). Keep that in mind when the two are used as a pair; Between avoids the ambiguity by letting you set inclusivity on each side.

Does a floor of 0 accept zero?

No. With value > 0, zero is flagged. When zero is legitimate, use Not Negative, which accepts zero and rejects only negatives.

What happens on a numeric field nested inside an array?

Every element is tested against the floor, and the row fails as soon as one element is at or below it. Empty arrays and NULL arrays pass, since there is nothing to evaluate. The evaluation runs as a field-level check, so it reports a Shape Anomaly for the field rather than per-row Record Anomalies, whatever the coverage is set to. An array column itself cannot be selected: the rule accepts Integral and Fractional only.

How are NULL values treated?

NULLs pass. A row with NULL in the evaluated field is not counted as a violation. Min Value only asserts that present values satisfy the rule. If the field must also be populated, pair the check with a Not Null check on the same field.

Which field types can I check?

Numeric fields only: integers and decimals. An array column remains unavailable in the field picker and is rejected with 422, though a numeric field nested inside an array of structs is accepted and evaluated element-wise. A number stored as text is also unavailable; expose it with a numeric type first.

Does the filter run before or after the comparison?

Before. The platform applies the filter first and then evaluates the comparison only on the rows that pass the filter. Filtered-out rows cannot trigger an anomaly and are not counted in the totals.


Anomaly Reporting

What do the anomaly messages look like?

Record Anomaly: The field '<field>' has value <row_value>, which is below the minimum value of <minimum>

Shape Anomaly: For the field '<field>', X.XXX% of N records (K) are below the minimum value of <minimum>

When a filter is set, both messages end with [filter: <expression>].

Does Min Value produce Record Anomalies, Shape Anomalies, or both?

On a scalar numeric field at 100% coverage (the default), violating rows are reported as Record Anomalies. Below 100% coverage, a failed coverage assertion produces one Shape Anomaly for the dataset. A numeric field nested inside an array always produces a Shape Anomaly, regardless of coverage. A scan can also roll up a large number of Record Anomalies into one Shape Anomaly.

Does Custom Anomaly Description work for Min Value?

Yes. Min Value emits Record Anomalies, so the anomaly_message_field payload field (and the Custom Anomaly Description toggle in the UI) replaces the Record Anomaly message with the value of the named column on the violating row. When that column is null, missing, or empty, the standard Record template is used instead. The Shape Anomaly always uses the fixed template.


Configuration

Can I lower the coverage on a Min Value check?

Yes. Coverage at 1.0 (100%) means every row must pass. Lowering coverage to 0.995 allows up to 0.5% of rows to fail without raising an anomaly; once the failing fraction goes past that, the check reports a Shape Anomaly. Use lower coverage with care: a real regression that happens to fall just under the threshold will not raise an alert at all.

Can I move the floor on an existing check?

Yes. In the UI, open the check, change Value, and click Update; see Edit a Check for the full steps. Through the API, a PUT to /api/quality-checks/{id} updates properties.value. The rule type, the target container, and the associated Check Template stay immutable; see the API page for the editable/immutable matrix.

What permission do I need to create or edit a Min Value check?

The Drafter team permission on the datastore covers Draft work (creating a check as Draft or editing it while it stays Draft). Anything that puts the check into evaluation, such as creating or editing an Active check, archiving, or deleting, requires the Author team permission (or above). Viewing only requires Reporter. See Permissions for the full matrix.

Should I use Min Value or Between?

Use Min Value when only the lower limit is a real rule. When the value also has a meaningful ceiling, Between states both sides in one check and lets you choose inclusivity per side.