Skip to content

Sum Anomaly Reporting

How the Sum check reports violations: the Shape Anomaly it produces, what the two numbers mean, and why the anomaly carries no source records.

Anomaly Messages

Sum reports a Shape Anomaly, never a Record Anomaly. The rule evaluates the column as a whole, so there is no violating row to attach a message to.

Shape Anomaly

<field> sums to <observed>, which is not the expected <expected>

Reading the message:

  • <observed> is the total the check computed across the filtered rows.
  • <expected> is the expected total configured on the check.

A whole total is written without decimals. Anything else is rounded to three decimal places with trailing zeros dropped, so 95.500 reads as 95.5. A value too small to survive that rounding, such as 0.0004, is written in full instead. Thousands separators are applied only to whole totals, so 12,480 keeps them and 12480.5 does not.

Comparing the two tells you the size and the direction of the gap, which is usually the fastest way to recognize what went wrong: a total that is short by exactly one row's worth points at a dropped record, while a total that is roughly double points at a load that ran twice.

When a filter is set, the Shape Anomaly message names it at the end of its first sentence, as (applied to records where <expression>).

Because the anomaly belongs to the column rather than to a set of rows, the Source Records view has nothing to list. Pair the check with a per-row rule when you also need to see the records.

Custom Anomaly Description does not apply to this rule. The option replaces the message on Record Anomalies, and Sum emits a Shape Anomaly only.

See Also