The NumberOfTransitions Aggregate defined in Table 35 returns a count of the number of transition the Variable had during the interval. If one or more raw values are Bad, they are not included in the count, and the Aggregate StatusCode is determined using the StatusCode Calculation (see 5.3) for non-time based Aggregates.

The earliest transition shall be calculated by comparing the earliest non-Bad value in the interval to the previous non-Bad value. A transition occurred if no previous non-Bad value exists or if the earliest non-Bad value is different. The endTime is not considered part of the interval, so a transition occurring at the endTime is not included.

Unless otherwise indicated, StatusCodes are Good, Calculated.

Table 35 – NumberOfTransitions Aggregate summary

NumberOfTransitions Aggregate Characteristics



Data Type

Int32 (negative values are not allowed)

Use Bounds

Custom, a non-Bad value prior to the interval is used



Status Code Calculations

Calculation Method



Set Sometimes

If an interval is not a complete interval


Set Always


Not Set


Not Set

Multi Value

Not Set

Status Code 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