Skip to content

Between Times Troubleshooting

Common problems when creating and running a Between Times 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:

  1. Review the error message: it explains what needs attention.
  2. Check the Filter Clause for typos: it must be a valid SQL WHERE expression for the selected container.
  3. 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.

A Value on the Boundary Passes When It Should Fail

Rows whose value equals Min or Max are accepted.

Cause: Both boundaries are inclusive and there is no toggle to change that.

Resolution: Replace the check with the strict pair After Date Time and Before Date Time. Shifting the boundary by a fixed step works only when the column carries no finer resolution than that step: on a sub-second timestamp, pulling the upper bound back by a second also rejects everything in the second you removed.

Values That Look Inside the Window Are Flagged

The anomaly disagrees with what the timestamps look like in the source system.

Cause: Both boundaries are stored as UTC instants and the comparison runs in UTC, so values written in a local time zone shift by the offset.

Resolution: Compare the flagged value against the boundaries echoed in the anomaly message, which are ISO-8601 UTC. When the source column is naive or mixed-zone, normalize it upstream with a Computed Field. See Time Zone Behavior.

Rows With NULL Values Are Not Flagged

Rows with an empty date pass the check.

Cause: This is by design: NULL values pass. Between Times only constrains present values.

Resolution: Pair the check with a Not Null check on the same field to also require presence.

An Array Row Fails Although Most Elements Are in the Window

A row with an array field is flagged even though only one element falls outside.

Cause: On array fields the check evaluates every element, and the row fails as soon as one element is out of the window.

Resolution: This is expected behavior. Review the flagged row's array to find the offending element.

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.