Satisfies Expression Anomaly Reporting
How the Satisfies Expression check reports violations: the anomaly messages it produces, what the numbers mean, how the offending record appears in Source Records, and how to replace the default message with a value from your own data.
Anomaly Messages
At 100% coverage, Satisfies Expression 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, 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.
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.
What the Numbers Mean
- N: the number of rows that failed, including any where the expression returned nothing.
- M: the total number of rows the check evaluated (after the filter, if any).
For a Shape Anomaly, the failing share appears in the opening line of the anomaly's description, for example 2 of 4 records (50%) in ACCOUNTS failed 1 check during full scan #4821. That line counts against every record the scan processed, so on a filtered check its denominator is no smaller than the check's own asserted count. See Anomaly Description.
Source Records Behavior
Every field on the check is highlighted with an orange outline and an orange-tinted background in the Source Records view, mirroring the platform's standard violation rendering. The field list is derived from the expression unless someone selected the fields for the check, so by default the highlight covers all the columns that took part in the comparison rather than a single offending value: read the expression in the message against those values to see which part did not hold. When the fields were selected by hand, the highlight follows that list instead.
Custom Anomaly Description
Satisfies Expression supports Custom Anomaly Description because it emits Record Anomalies. The option is anomaly_message_field in the API and the Custom Anomaly Description toggle in the UI.
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.
See Also
-
Examples
Three production scenarios with sample data, anomaly messages, and the SQL equivalent of what the check evaluates.
-
Best Practices
Guidelines for writing expressions that stay readable, handling NULLs deliberately, and knowing when a dedicated rule is better.
-
Permissions
The team permission each action needs: view, create, edit, archive, restore, and delete.
-
How It Works
The complete reference: definition, field scope, what the expression must return, check variables, NULL handling, filter behavior, and coverage.