Not Future Best Practices
Guidelines for getting reliable signal from Not Future checks while keeping the noise (and the maintenance) low.
Use Not Future for events, and a fixed bound for deadlines
The rule fits any field that records something that already happened: an order date, a payment timestamp, a sensor reading. For a boundary that belongs to the business calendar rather than to the clock, Before Date Time states it explicitly and reads more clearly to whoever triages.
Allow for clock skew instead of chasing single-second violations
Systems writing rows from different machines drift by seconds. If the check fires on values a moment ahead of now, the data is not wrong. Fix the clock or the zone conversion upstream rather than lowering coverage to hide it.
Check the field that records the event, not the one that records the plan
A scheduled delivery date or a subscription renewal date is supposed to be in the future. Point the rule at the columns that record what happened, and leave forward-looking columns to a range check.
Pair it with Not Null when the date is mandatory
Not Future passes empty values by design. When the field must always be filled in, Not Null covers presence and Not Future covers plausibility.
Keep coverage at 100% unless a known backlog exists
At 100% coverage every failing row is reported as a Record Anomaly, which tells you exactly which rows break the rule. Below 100% the check reports a single Shape Anomaly only when the failing fraction crosses the tolerance, and no per-row detail is produced. Lower coverage only while a known set of legacy rows is being cleaned up.
Scope with a filter instead of loosening coverage
When the rule only applies to part of the table (one segment, one channel, one period), express that with a filter clause rather than by lowering coverage. The filter removes the out-of-scope rows from evaluation entirely, and the expression is echoed in every anomaly message.
Route the anomalies to the right people
A failure usually points at the system that produced the value, not at the warehouse. Set an Anomaly Assignee from the team that owns that producer, and tag the check so related checks are easy to find.
See Also
-
Permissions
The team permission each action needs: view, create, edit, archive, restore, and delete.
-
How It Works
The complete reference: definition, field scope, what "now" means, array handling, NULL handling, filter behavior, and coverage.
-
Anomaly Reporting
The anomaly messages the check produces, what the numbers mean, Source Records highlighting, and Custom Anomaly Description.
-
Examples
Three production scenarios with sample data, anomaly messages, and the SQL equivalent of what the check evaluates.