AFData.Summary Method
- Last UpdatedNov 18, 2025
- 4 minute read
- PI System
- AF SDK 2024 R2
- Developer
Namespace: OSIsoft.AF.Data
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182
Syntax
public IDictionary<AFSummaryTypes, AFValue> Summary( AFTimeRange timeRange, AFSummaryTypes summaryType, AFCalculationBasis calcBasis, AFTimestampCalculation timeType )
Public Function Summary ( timeRange As AFTimeRange, summaryType As AFSummaryTypes, calcBasis As AFCalculationBasis, timeType As AFTimestampCalculation ) As IDictionary(Of AFSummaryTypes, AFValue) Dim instance As AFData Dim timeRange As AFTimeRange Dim summaryType As AFSummaryTypes Dim calcBasis As AFCalculationBasis Dim timeType As AFTimestampCalculation Dim returnValue As IDictionary(Of AFSummaryTypes, AFValue) returnValue = instance.Summary(timeRange, summaryType, calcBasis, timeType)
public: IDictionary<AFSummaryTypes, AFValue^>^ Summary( AFTimeRange timeRange, AFSummaryTypes summaryType, AFCalculationBasis calcBasis, AFTimestampCalculation timeType )
member Summary : timeRange : AFTimeRange * summaryType : AFSummaryTypes * calcBasis : AFCalculationBasis * timeType : AFTimestampCalculation -> IDictionary<AFSummaryTypes, AFValue>
Parameters
- timeRange
- Type: OSIsoft.AF.TimeAFTimeRange
The time range over which to compute the summary. - summaryType
- Type: OSIsoft.AF.DataAFSummaryTypes
A flag which specifies one or more summaries to compute over the time range. - calcBasis
- Type: OSIsoft.AF.DataAFCalculationBasis
Specifies the method of evaluating the data over the time range. - timeType
- Type: OSIsoft.AF.DataAFTimestampCalculation
A flag indicating what how to calculate a timestamp for each interval.
Return Value
Type: IDictionaryAFSummaryTypes, AFValueA dictionary of AFValue, indexed by the specific AFSummaryTypes.
Exceptions
| Exception | Condition |
|---|---|
| ArgumentOutOfRangeException | The summaryType cannot be None. |
| NotSupportedException | The data reference does not support this method. |
Remarks
Count is the only summary type supported on non-numeric attributes. Requesting a summary for any other type will generate an error.
Time-weighted totals are computed by integrating the rate tag values over the requested time range. If some of the data are bad in the time range, the calculated total is divided by the fraction of the time period for which there are good values. Mathematically, this approach is equivalent to assuming that during the period of bad data, the tag takes on the average values for the entire calculation time range. The PercentGood summary can be used to determine if the calculation results are suitable for the application's purposes.
For time-weight totals, if the time unit rate of the attribute cannot be determined, then the value will be totaled assuming a unit of "per day" and no unit of measure will be assigned to the value. If the measured time component of the tag is not based on a day, the user of the data must convert the totalized value to the correct units. For example, if the rate tag was gallons/minute, the conversion can be accomplished using UOMDatabase.UOMs["minute"].Convert(value, UOMDatabase.UOMs["day"].
| This method, property, or class is not available in the legacy .NET 3.5 version of the SDK. |
| You must have ReadData security rights to read a data value. |