PIPoint.SummariesAsync Method (IList(AFTimeIntervalDefinition), Boolean, AFSummaryTypes, AFCalculationBasis, AFTimestampCalculation, CancellationToken)
- Last UpdatedNov 18, 2025
- 4 minute read
- PI System
- AF SDK 2024 R2
- Developer
Returns several summaries for a single PIPoint over a time range for each interval within the range.
Namespace: OSIsoft.AF.PI
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182
Syntax
public Task<IDictionary<AFSummaryTypes, AFValues>> SummariesAsync( IList<AFTimeIntervalDefinition> intervalDefinitions, bool reverseTime, AFSummaryTypes summaryType, AFCalculationBasis calculationBasis, AFTimestampCalculation timeType, CancellationToken cancellationToken = default )
Public Function SummariesAsync ( intervalDefinitions As IList(Of AFTimeIntervalDefinition), reverseTime As Boolean, summaryType As AFSummaryTypes, calculationBasis As AFCalculationBasis, timeType As AFTimestampCalculation, Optional cancellationToken As CancellationToken = Nothing ) As Task(Of IDictionary(Of AFSummaryTypes, AFValues)) Dim instance As PIPoint Dim intervalDefinitions As IList(Of AFTimeIntervalDefinition) Dim reverseTime As Boolean Dim summaryType As AFSummaryTypes Dim calculationBasis As AFCalculationBasis Dim timeType As AFTimestampCalculation Dim cancellationToken As CancellationToken Dim returnValue As Task(Of IDictionary(Of AFSummaryTypes, AFValues)) returnValue = instance.SummariesAsync(intervalDefinitions, reverseTime, summaryType, calculationBasis, timeType, cancellationToken)
public: Task<IDictionary<AFSummaryTypes, AFValues^>^>^ SummariesAsync( IList<AFTimeIntervalDefinition>^ intervalDefinitions, bool reverseTime, AFSummaryTypes summaryType, AFCalculationBasis calculationBasis, AFTimestampCalculation timeType, CancellationToken cancellationToken = CancellationToken() )
member SummariesAsync : intervalDefinitions : IList<AFTimeIntervalDefinition> * reverseTime : bool * summaryType : AFSummaryTypes * calculationBasis : AFCalculationBasis * timeType : AFTimestampCalculation * ?cancellationToken : CancellationToken (* Defaults: let _cancellationToken = defaultArg cancellationToken new CancellationToken() *) -> Task<IDictionary<AFSummaryTypes, AFValues>>
Parameters
- intervalDefinitions
- Type: System.Collections.GenericIListAFTimeIntervalDefinition
The list of time interval definitions used to produce the summary. The Range of each time interval definition within the list must be in consecutive order to produce the expected result. Any overlaps or gaps in the intervals will be ignored. - reverseTime
- Type: SystemBoolean
If set to , the results in each collection of AFValues will be returned in reverse order. - summaryType
- Type: OSIsoft.AF.DataAFSummaryTypes
A flag which specifies one or more summaries to compute for each interval over the time range - calculationBasis
- 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. - cancellationToken (Optional)
- Type: System.ThreadingCancellationToken
A cancellation token used to abort processing before completion. Passing the default CancellationToken.None will run to completion or until the PIConnectionInfo.OperationTimeOut period elapses.
Return Value
Type: TaskIDictionaryAFSummaryTypes, AFValuesReturns a task whose result is a dictionary of AFValues, indexed by the specific AFSummaryTypes.
Exceptions
| Exception | Condition |
|---|---|
| AggregateException | Asynchronous methods throw AggregateException on failure which will contain one or more exceptions containing the failure. |
| ArgumentOutOfRangeException | The summaryType cannot be None. |
| PIException | Error returned by the PI Data Archive. |
Remarks
| Impersonation of AF SDK asynchronous calls relies on the .NET framework's built-in support for flowing execution context across asynchronous points. When making these calls while impersonating, the thread or runtime must be configured to propagate the impersonation across these asynchronous points (see the SecurityContext documentation for details). |
| This call might use a background task to complete some of its work. See the Threading Overview for some matters to consider when execution transitions to another thread. |