PIPoint.Summaries Method (AFTimeRange, AFTimeSpan, AFSummaryTypes, AFCalculationBasis, AFTimestampCalculation)
- Last UpdatedNov 18, 2025
- 4 minute read
- PI System
- AF SDK 2024 R2
- Developer
Namespace: OSIsoft.AF.PI
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182
Syntax
public IDictionary<AFSummaryTypes, AFValues> Summaries( AFTimeRange timeRange, AFTimeSpan summaryDuration, AFSummaryTypes summaryType, AFCalculationBasis calcBasis, AFTimestampCalculation timeType )
Public Function Summaries ( timeRange As AFTimeRange, summaryDuration As AFTimeSpan, summaryType As AFSummaryTypes, calcBasis As AFCalculationBasis, timeType As AFTimestampCalculation ) As IDictionary(Of AFSummaryTypes, AFValues) Dim instance As PIPoint Dim timeRange As AFTimeRange Dim summaryDuration As AFTimeSpan Dim summaryType As AFSummaryTypes Dim calcBasis As AFCalculationBasis Dim timeType As AFTimestampCalculation Dim returnValue As IDictionary(Of AFSummaryTypes, AFValues) returnValue = instance.Summaries(timeRange, summaryDuration, summaryType, calcBasis, timeType)
public: IDictionary<AFSummaryTypes, AFValues^>^ Summaries( AFTimeRange timeRange, AFTimeSpan summaryDuration, AFSummaryTypes summaryType, AFCalculationBasis calcBasis, AFTimestampCalculation timeType )
member Summaries : timeRange : AFTimeRange * summaryDuration : AFTimeSpan * summaryType : AFSummaryTypes * calcBasis : AFCalculationBasis * timeType : AFTimestampCalculation -> IDictionary<AFSummaryTypes, AFValues>
Parameters
- timeRange
- Type: OSIsoft.AF.TimeAFTimeRange
The bounding time range over which the summary intervals are computed. - summaryDuration
- Type: OSIsoft.AF.TimeAFTimeSpan
The duration of each summary interval. If specified in hours, minutes, seconds, or milliseconds, the summary durations will be evenly spaced UTC time intervals. Longer interval types are interpreted using wall clock rules and are time zone dependent. For example, an interval created with the string "24h" means using an evenly spaced 24 UTC hour interval between each event. On the other hand, an interval created with the string "1d" would return an interval shorter or longer than 24 hours if the interval encompasses a Daylight Savings Time change.
When a positive duration is specified, the summary calculation begins at the earliest bounding time in the timeRange and applies the duration repeatedly in time ascending direction to generate the summary intervals.
If a negative duration is specified, the summary calculation begins at the latest bounding time in the timeRange and applies the duration repeatedly in time descending direction to generate the summary intervals. Note that the order of values returned will still be reflected by the timeRange, regardless of the summary duration sign.
- summaryType
- Type: OSIsoft.AF.DataAFSummaryTypes
A flag which specifies one or more summaries to compute for each interval 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 time stamp for each interval.
Return Value
Type: IDictionaryAFSummaryTypes, AFValuesA dictionary of AFValues, indexed by the specific AFSummaryTypes.
Exceptions
| Exception | Condition |
|---|---|
| ArgumentOutOfRangeException | The summaryType cannot be None. |
| PIException | Error returned by the PI Data Archive. |
Remarks
The following table illustrates the interaction between timeRange and summaryDuration with the time stamp summary calculations and order of returned values for each summary type.
| Time Range | Summary Duration | Summaries returned in AFValues |
|---|---|---|
| Ascending (Y to T) | Positive (5h) | Y to Y+5h, Y+5h to Y+10h, Y+10h to y+15h, Y+15h to Y+20h |
| Descending (T to Y) | Positive (5h) | Y+15h to Y+20h, Y+10h to Y+15h, Y+10h, Y+5h to Y+10h, Y to Y+5h |
| Ascending (Y to T) | Negative (-5h) | T-20h to T-15h, T-15h to T-10h, T-10h to T-5h, T-5h to T |
| Descending (T to Y) | Negative (-5h) | T-5h to T, T-10h to T-5h, T-15h to T-10h, T-20 to T-15h |
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 use can use the PercentGood summary to determine if the calculation results are suitable for the application's purposes.
| This method, property, or class is not available in the legacy .NET 3.5 version of the SDK. |