AFSearch.Summary Method (String, AFSummaryTypes)
- Last UpdatedJan 12, 2026
- 2 minute read
- PI System
- AF SDK 3.2.0
- Developer
Summarizes the result of this search.
Namespace: OSIsoft.AF.Search
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.2.0.7
Syntax
public AFSummaryResult Summary( string field, AFSummaryTypes summaryTypes )
Public Function Summary ( field As String, summaryTypes As AFSummaryTypes ) As AFSummaryResult Dim instance As AFSearch Dim field As String Dim summaryTypes As AFSummaryTypes Dim returnValue As AFSummaryResult returnValue = instance.Summary(field, summaryTypes)
public: AFSummaryResult^ Summary( String^ field, AFSummaryTypes summaryTypes )
member Summary : field : string * summaryTypes : AFSummaryTypes -> 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.
Return Value
Type: AFSummaryResultA result containing the requested summaries or an error if the summaries could not be performed.
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 = eventSearch.Summary("Duration", AFSummaryTypes.Minimum | AFSummaryTypes.Maximum | AFSummaryTypes.Average); Console.WriteLine("Minimum: {0}, Average: {1}, Maximum: {2}", summaryResult.SummaryResults[AFSummaryTypes.Minimum], summaryResult.SummaryResults[AFSummaryTypes.Average], summaryResult.SummaryResults[AFSummaryTypes.Maximum]); }