Introduction to the Aggregation Comparison Check
The Aggregation Comparison check compares two aggregate values with an operator you choose. One aggregation runs on the container the check is attached to, the other on a reference container. Use it to reconcile totals and counts across tables or systems, or to enforce an invariant between two aggregates on the same dataset.
This section is the complete guide to the check. The Deep Dive covers the definition, the comparison operators, and the full evaluation semantics, explains how anomalies are reported, walks through production examples, and collects best practices; the How-tos are step-by-step tutorials for creating, editing, and deleting a check; the API page documents the payload for programmatic use; and the FAQ answers the most frequent questions.
Next Steps
-
How It Works
The complete reference: definition, field scope, comparison operators, evaluation flow, NULL handling, and the two filter clauses.
-
Anomaly Reporting
The anomaly message the check produces, how the evaluated values are rendered, and why per-row reporting does not apply.
-
Examples
Three production scenarios with sample aggregates, anomaly messages, and the SQL equivalent of what the check evaluates.
-
Best Practices
Guidelines for writing comparable aggregations, scoping both sides, and choosing between reconciliation rule types.
-
Permissions
The team permission each action needs: view, create, edit, archive, restore, and delete.
-
Create a Check
Step-by-step tutorial for creating an Aggregation Comparison check between two containers.
-
Edit a Check
Step-by-step tutorial for changing the aggregations, the comparison operator, the reference container, or the filters.
-
Delete a Check
Step-by-step tutorial for archiving a check and deleting it permanently.
-
Troubleshooting
Common problems with expressions, undefined aggregates, precision, and anomaly reporting, and how to resolve them.
-
API
Payload shape and field notes for creating an Aggregation Comparison check programmatically.
-
FAQ
Short answers to questions about operators, cross-datastore references, filters, and anomaly reporting.