Any Not Null Anomaly Reporting
How the Any Not Null check reports violations: the anomaly messages it produces, what the numbers mean, how the missing fields appear in Source Records, and how to replace the default message with a value from your own data.
Anomaly Messages
At 100% coverage, Any Not Null reports violating rows as Record Anomalies. Below 100% coverage, a failed coverage assertion produces one Shape Anomaly for the dataset. The two templates are:
Record Anomaly
Shape Anomaly
When a filter is set, both Record and Shape Anomaly messages end with [filter: <expression>].
Scan settings can group a large number of Record Anomalies into one rolled-up Shape Anomaly. This behavior applies across rule types and is documented under Maximum Record Anomalies per Check.
What the Numbers Mean
<field_list>: the comma-separated list of selected fields.- X.XXX%: the fraction of filtered rows that fail the check.
- N: the total number of rows the check evaluated (after the filter, if any).
- K: the number of rows that fail the check.
Source Records Behavior
Every selected field that is NULL on a violating row is highlighted with an orange outline and an orange-tinted background in the Source Records view, mirroring the platform's standard violation rendering. Fields not part of the check render normally.
Custom Anomaly Description
Any Not Null supports Custom Anomaly Description because it emits Record Anomalies. When anomaly_message_field (or the Custom Anomaly Description toggle in the UI) points at another column on the same row, the Record Anomaly message becomes the value of that column. When the referenced column is null, missing, or empty, the standard template is used instead.
Because the option only applies to Record Anomalies, it does not affect Shape Anomalies, which always use the fixed template.
See Also
-
Examples
Three production scenarios with sample data, anomaly messages, and the SQL equivalent of what the check evaluates.
-
Best Practices
Guidelines for grouping interchangeable fields, handling empty strings, pairing rules, and keeping the signal clean.
-
Permissions
The team permission each action needs: view, create, edit, archive, restore, and delete.
-
How It Works
The complete reference: definition, field scope, properties, evaluation flow, NULL handling, filter behavior, and coverage.