The Maximum2 Aggregate defined in Table 27 retrieves the maximum Good value for each interval as defined for Maximum except that Simple Bounding Values are included. The Simple Bounding Values for the interval are found according to the definition of Simple Bounding Values (see 3.1.9). Any Bad values are ignored in the computation. The Aggregate StatusCode will be determined using the StatusCode Calculation (see 5.3) for time based Aggregates. If a bounding value is returned then the status will indicate, Raw, Calculated or Interpolated.

If TreatUncertainAsBad is false and an Uncertain raw value is the maximum then that Uncertain value is used. Uncertain values are ignored otherwise.

If sloped interpolation is used and the End bound is the maximum value then End bound is used as the maximum with the timestamp set to the startTime of the interval. The End bound is ignored in all other cases.

Table 27 – Maximum2 Aggregate summary

Maximum2 Aggregate Characteristics



Data Type

Same as Source

Use Bounds




StatusCode Calculations

Calculation Method



Set Sometimes

If an interval is not a complete interval


Set Sometimes

Set unless the StartBound is the Maximum


Set Sometimes

If an Interpolated bound is the Maximum


Set Sometimes

If a raw value is the Maximum.

Multi Value

Set Sometimes

If more than one Good values exist with the same

StatusCode Common Special Cases

Before Start of Data


After End of Data


No Start Bound

Treat the beginning value as Bad_NoData and compute the Aggregate

No End Bound

Treat the ending value as Bad_NoData and compute the Aggregate

Bound Bad

Use as value and compute the Aggregate as defined

Bound Uncertain

Use as value and compute the Aggregate as defined