AFSearch.FrequencyDistribution Method
- Last UpdatedJan 12, 2026
- 2 minute read
- PI System
- AF SDK 3.2.0
- Developer
Generates a frequency distribution for the specified items.
Namespace: OSIsoft.AF.Search
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.2.0.7
Syntax
public AFGroupedResult<Object> FrequencyDistribution( string groupedField )
Public Function FrequencyDistribution ( groupedField As String ) As AFGroupedResult(Of Object) Dim instance As AFSearch Dim groupedField As String Dim returnValue As AFGroupedResult(Of Object) returnValue = instance.FrequencyDistribution(groupedField)
public: AFGroupedResult<Object^>^ FrequencyDistribution( String^ groupedField )
member FrequencyDistribution : groupedField : string -> AFGroupedResult<Object>
Parameters
- groupedField
- Type: SystemString
The field whose value should be grouped.
Return Value
Type: AFGroupedResultObjectA result containing the requested frequency distribution 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); // Generate a frequency distribution by primary element AFGroupedResult<object> frequencyDistribution = eventSearch.FrequencyDistribution("Element"); foreach (var group in frequencyDistribution.GroupedResults) { Console.WriteLine("Element: {0}, Count: {1}", group.Key, group.Value[AFSummaryTypes.Count]); } }