AFSearch.SummaryAsync Method (String, AFSummaryTypes, CancellationToken)
- Last UpdatedNov 18, 2025
- 4 minute read
- PI System
- AF SDK 2024 R2
- Developer
Summarizes the result of this search asynchronously.
Namespace: OSIsoft.AF.Search
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182
Syntax
public Task<AFSummaryResult> SummaryAsync( string field, AFSummaryTypes summaryTypes, CancellationToken cancellationToken )
Public Function SummaryAsync ( field As String, summaryTypes As AFSummaryTypes, cancellationToken As CancellationToken ) As Task(Of AFSummaryResult) Dim instance As AFSearch Dim field As String Dim summaryTypes As AFSummaryTypes Dim cancellationToken As CancellationToken Dim returnValue As Task(Of AFSummaryResult) returnValue = instance.SummaryAsync(field, summaryTypes, cancellationToken)
public: Task<AFSummaryResult^>^ SummaryAsync( String^ field, AFSummaryTypes summaryTypes, CancellationToken cancellationToken )
member SummaryAsync : field : string * summaryTypes : AFSummaryTypes * cancellationToken : CancellationToken -> Task<AFSummaryResult>
Parameters
- field
- Type: SystemString
The field that should be summarized. - summaryTypes
- Type: OSIsoft.AF.DataAFSummaryTypes
The summaries that should be performed on the field. - cancellationToken
- Type: System.ThreadingCancellationToken
A token to control cancellation of the aggregation request.
Return Value
Type: TaskAFSummaryResultA result containing the requested summaries or an error if the summaries could not be performed.
Remarks
| 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. |
Examples
// Get the Database PISystems myPISystems = new PISystems(); PISystem myPISystem = myPISystems.DefaultPISystem; if (myPISystem == null) throw new InvalidOperationException("Default PISystem was not found."); AFDatabase myDB = myPISystem.Databases[dbName]; if (myDB == null) throw new InvalidOperationException("Database was not found."); // Create a search to find all the event frames created from the 'Event' // template in the last year. using (AFEventFrameSearch eventSearch = new AFEventFrameSearch(myDB, "EventFrameSearch", @"Template:'Event' Start:>'t-1y'")) { eventSearch.CacheTimeout = TimeSpan.FromMinutes(10); // Summarize the Minimum, Average, and Maximum duration for items meeting the search criteria AFSummaryResult summaryResult = await eventSearch.SummaryAsync("Duration", AFSummaryTypes.Minimum | AFSummaryTypes.Maximum | AFSummaryTypes.Average, CancellationToken.None); Console.WriteLine("Minimum: {0}, Average: {1}, Maximum: {2}", summaryResult.SummaryResults[AFSummaryTypes.Minimum], summaryResult.SummaryResults[AFSummaryTypes.Average], summaryResult.SummaryResults[AFSummaryTypes.Maximum]); }
' Get the Database Dim myPISystems As New PISystems() Dim myPISystem As PISystem = myPISystems.DefaultPISystem If myPISystem Is Nothing Then Throw New InvalidOperationException("Default PISystem was not found.") End If Dim myDB As AFDatabase = myPISystem.Databases(dbName) If myDB Is Nothing Then Throw New InvalidOperationException("Database was not found.") End If ' Create a search to find all the event frames created from the 'Event' ' template in the last year. Using eventSearch As New AFEventFrameSearch(myDB, "EventFrameSearch", "Template:'Event' Start:>'t-1y'") eventSearch.CacheTimeout = TimeSpan.FromMinutes(10) ' Summarize the Minimum, Average, and Maximum duration for items meeting the search criteria Dim summaryResult As AFSummaryResult = Await eventSearch.SummaryAsync("Duration", AFSummaryTypes.Minimum Or AFSummaryTypes.Maximum Or AFSummaryTypes.Average, CancellationToken.None) Console.WriteLine("Minimum: {0}, Average: {1}, Maximum: {2}", summaryResult.SummaryResults(AFSummaryTypes.Minimum), summaryResult.SummaryResults(AFSummaryTypes.Average), summaryResult.SummaryResults(AFSummaryTypes.Maximum)) Return True End Using
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.