Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AF SDK Reference

AFSearch.BinnedSummary(TBin) Method

  • Last UpdatedJan 12, 2026
  • 3 minute read
AFSearch.BinnedSummary(TBin) Method
Generates a summary broken down by the specified bins for items matching the search criteria.

Namespace:  OSIsoft.AF.Search
Assembly:  OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.2.0.7

Syntax

public AFBinnedResult<TBin> BinnedSummary<TBin>(
	string field,
	IEnumerable<TBin> bins,
	UOM binUOM,
	string summaryField,
	AFSummaryTypes summaryTypes
)
where TBin : Object, IComparable<TBin>
Public Function BinnedSummary(Of TBin As {Object, IComparable(Of TBin)}) ( 
	field As String,
	bins As IEnumerable(Of TBin),
	binUOM As UOM,
	summaryField As String,
	summaryTypes As AFSummaryTypes
) As AFBinnedResult(Of TBin)

Dim instance As AFSearch
Dim field As String
Dim bins As IEnumerable(Of TBin)
Dim binUOM As UOM
Dim summaryField As String
Dim summaryTypes As AFSummaryTypes
Dim returnValue As AFBinnedResult(Of TBin)

returnValue = instance.BinnedSummary(field, 
	bins, binUOM, summaryField, summaryTypes)
public:
generic<typename TBin>
where TBin : Object, IComparable<TBin>
AFBinnedResult<TBin>^ BinnedSummary(
	String^ field, 
	IEnumerable<TBin>^ bins, 
	UOM^ binUOM, 
	String^ summaryField, 
	AFSummaryTypes summaryTypes
)
member BinnedSummary : 
        field : string * 
        bins : IEnumerable<'TBin> * 
        binUOM : UOM * 
        summaryField : string * 
        summaryTypes : AFSummaryTypes -> AFBinnedResult<'TBin>  when 'TBin : Object and IComparable<'TBin>

Parameters

field
Type: SystemString
The field whose value should be binned.
bins
Type: System.Collections.GenericIEnumerableTBin
The bins the field should be sorted into.
binUOM
Type: OSIsoft.AF.UnitsOfMeasureUOM
The unit of measure associated with bin values.
summaryField
Type: SystemString
The field that should be summarized for each group.
summaryTypes
Type: OSIsoft.AF.DataAFSummaryTypes
The types of summaries to perform for each group.

Type Parameters

TBin
The type of bins the summary is broken into.

Return Value

Type: AFBinnedResultTBin
A result containing the requested summaries broken down by bin 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);
    // Get the average duration binned by start month
    AFBinnedResult<AFTime> binnedSummary = eventSearch.BinnedSummary("StartTime",
        new AFTimeSpan(months: 1).GetIntervalTimes(new AFTimeRange("1-1y", "1+1mo")), binUOM: null,
        summaryField: "Duration", summaryTypes: AFSummaryTypes.Average);
    foreach (var bin in binnedSummary.BinnedResults)
    {
        Console.WriteLine("Month: {0}, Average: {1}",
            bin.Key, bin.Value[AFSummaryTypes.Average]);
    }
}

Version Information

AFSDK

Supported in: 3.1.1, 3.1.0, 3.0.2, 3.0.1, 3.0.0, 2.10.11, 2.10.5, 2.10.0, 2.10, 2.9.5, 2.9

See Also

In This Topic
Related Links
TitleResults for “How to create a CRG?”Also Available in