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 

Type 
Calculated 

Data Type 
Same as Source 

Use Bounds 
Simple 

Timestamp 
StartTime 



Status Code Calculations 

Calculation Method 
PercentTime 

Partial 
Set Sometimes If an interval is not a complete interval 

Calculated 
Set Sometimes Set unless the StartBound is the Maximum 

Interpolated 
Set Sometimes If an Interpolated bound is the Maximum 

Raw 
Set Sometimes If a raw value is the Maximum. 

Multi Value 
Set Sometimes If more than one Good values exist with the same 



Status Code Common Special Cases 

Before Start of Data 
Bad_NoData 

After End of Data 
Bad_NoData 

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 