Not Empty Troubleshooting
Common problems when creating and running a Not Empty check, their causes, and how to resolve them.
Validation Fails When Creating the Check
Clicking Validate returns an error instead of a success message.
Cause: The rule could not run against the selected data. The most common reasons are an invalid Filter Clause expression, a connection problem with the source, or a container that failed to load.
Resolution:
- Review the error message: it explains what needs attention.
- Check the Filter Clause for typos: it must be a valid SQL
WHEREexpression for the selected container. - If the message says the container is marked as Unloadable, the container was skipped after repeated operation failures. Follow the steps in Unloadable Container Error.
Rows With No Value at All Are Not Reported
Records where the field is unset pass the check.
Cause: This is by design: NULL values pass. Not Empty only judges values that are present.
Resolution: Add a Not Null check on the same field. Together the two require the column to be both present and meaningful.
A Value That Looks Filled In Is Reported
The cell appears to hold something, but the check flags it.
Cause: The value is made only of spaces. Spaces are stripped before the value is judged, so it counts as empty. Tabs and other whitespace are not stripped, so a value made of those passes instead.
Resolution: Trim the value upstream. If a whitespace value is genuinely meaningful in this column, exclude those rows with a Filter Clause.
An Array of Empty Strings Passes
A row whose array holds only blank entries is not reported.
Cause: On an array field the rule asserts the array holds at least one element. It does not inspect what the elements contain.
Resolution: Add a Min Length check on the same array field with Array Element Context enabled. Without that option, Min Length measures how many elements the array holds rather than what they contain, so an array of blank strings passes it too.
No Record Anomalies on an Array Field
The check fails but reports no individual rows.
Cause: On an array field the rule evaluates the column as a whole and produces a Shape Anomaly, so there is no per-row breakdown.
Resolution: Use the Shape Anomaly to see the scope of the problem. Min Length with Array Element Context enabled evaluates the elements themselves, but it reports a Shape Anomaly as well: on an array field this rule gives you element-level evaluation, not per-row detail.
The Field Does Not Appear in the Field Picker
The column you want is not listed.
Cause: The picker only lists text and array fields. A 0 or a false is a complete value, not an empty one.
Resolution: For a numeric column, state the real constraint with Positive or Between.
An Edited Check Keeps Behaving the Old Way
You changed the configuration but the anomaly list did not change.
Cause: Edits take effect on the next Scan. Saving the check does not re-evaluate the data, and anomalies raised under the previous configuration are not modified.
Resolution: Run a Scan on the container (or wait for the scheduled one). Old anomalies stay open until you triage them or a Full scan with Auto Resolve clears them. See What Happens to Existing Anomalies.
No Anomalies Although the Data Looks Wrong
A Scan ran, the data clearly breaks the rule, but nothing was reported.
Cause: One of these configurations is excluding the violations:
- The check is in Draft status: Draft checks are not evaluated by Scans.
- The Filter Clause excludes those rows before the evaluation runs.
- Coverage is below 100% and the failing fraction stayed within the tolerance, so the check passed.
Resolution: Confirm the check is Active and test the filter expression against the offending rows. Then review the coverage setting; see Coverage and Tolerance.
Expected One Anomaly per Row, Got a Single Rolled-Up One
Many rows failed, but the scan reported one Shape Anomaly instead of per-row Record Anomalies.
Cause: When the number of failing rows exceeds the scan's rollup threshold, the per-row findings are grouped into one rolled-up Shape Anomaly.
Resolution: This is expected behavior; the rolled-up anomaly carries sampled source records. To change the threshold, see Maximum Record Anomalies per Check.