Greater Than Field Check FAQ
Answers to common questions about how the Greater Than Field check compares two fields on the same row, how NULLs and tolerance behave, and how anomalies are reported, grouped by topic.
Behavior
Are equal values accepted?
It depends on the Inclusive setting: on, an equal pair passes; off, it is flagged.
What happens when one of the two fields is NULL?
It depends on whether a Comparator is set. With no Comparator the row passes: with nothing to compare, the check does not report a violation. With a Numeric or Duration Comparator the row passes only when both sides are NULL, so exactly one NULL side is reported as a violation.
Either way, a column that is entirely NULL never fails this rule; pair it with Not Null when presence is part of the rule.
Can I compare fields of different types?
Not meaningfully. The two values are compared as the same kind of value, so a number against text or a date against a string typically fails every row. Normalize one side upstream, or with a Computed Field, so both columns carry the same type.
What do the comparators do?
They give the comparison a margin. Numeric accepts an absolute amount or a percentage; Datetime accepts a duration. Leave them empty when the relationship must be exact.
Does the filter run before or after the comparison?
Before. The platform applies the filter first and then evaluates only 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: <field> has the value <value>, which is not greater than <other field>
Shape Anomaly: <field> values are not greater than <other field>, affecting N of M asserted records
When a filter is set, the message names it at the end of its first sentence, as (applied to records where <expression>). Record and Shape Anomaly messages both carry it.
Does Greater Than Field produce Record Anomalies, Shape Anomalies, or both?
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.
Scan settings can group a large number of Record Anomalies into one rolled-up Shape Anomaly, which carries the Shape Anomaly message. This behavior applies across rule types and is documented under Maximum Record Anomalies per Check.
Which cell is highlighted in Source Records?
The target field's cell. The compared field renders normally, so open both columns side by side to see why the row failed.
Does Custom Anomaly Description work for Greater Than Field?
Yes. Greater Than Field emits Record Anomalies, so the anomaly_message_field payload field (and the Custom Anomaly Description toggle in the UI) applies.
When the option points at another column on the same row, the Record Anomaly message becomes that column's value for the violating row, shown as written. When the column is null, missing, or empty, the message falls back to the rule's standard wording, and when the column is masked the message reads <masked>. Shape Anomaly messages are unaffected.
Configuration
Can I lower the coverage on Greater Than Field 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 change the compared field on an existing check?
Yes. In the UI, open the check, change Field to compare, and click Update; see Edit a Check for the full steps. Through the API, a PUT to /api/quality-checks/{id} updates properties.field_name. 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 Greater Than Field 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.
When should I use Greater Than instead?
Use Greater Than when the boundary is a constant rather than another column. Greater Than Field exists for relationships between two values on the same row, which keep holding as the data changes.