Click or drag to resize
OSIsoft, LLC

AFDataFilteredSummariesAsync Method

This method, when supplied a filter expression that evaluates to true or false, evaluates it over the passed time range. For the time ranges where the expression evaluates to true, the method calculates the requested summaries on the source attribute.

Namespace:  OSIsoft.AF.Data
Assembly:  OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 2.10.8.440
Syntax
public Task<IDictionary<AFSummaryTypes, AFValues>> FilteredSummariesAsync(
	AFTimeRange timeRange,
	AFTimeSpan summaryDuration,
	string filterExpression,
	AFSummaryTypes summaryType,
	AFCalculationBasis calculationBasis,
	AFSampleType sampleType,
	AFTimeSpan sampleInterval,
	AFTimestampCalculation timeType,
	CancellationToken cancellationToken = null
)

Parameters

timeRange
Type: OSIsoft.AF.TimeAFTimeRange
The bounding time range over which the filtered summary intervals are computed.
summaryDuration
Type: OSIsoft.AF.TimeAFTimeSpan

The duration of each summary interval. If specified in hours, minutes, seconds, or milliseconds, the summary durations will be evenly spaced UTC time intervals. Longer interval types are interpreted using wall clock rules and are time zone dependent. For example, an interval created with the string "24h" means using an evenly spaced 24 UTC hour interval between each event. On the other hand, an interval created with the string "1d" would return an interval shorter or longer than 24 hours if the interval encompasses a Daylight Savings Time change.

When a positive duration is specified, the summary calculation begins at the earliest bounding time in the timeRange and applies the duration repeatedly in time ascending direction to generate the summary intervals.

If a negative duration is specified, the summary calculation begins at the latest bounding time in the timeRange and applies the duration repeatedly in time descending direction to generate the summary intervals. Note that the order of values returned will still be reflected by the timeRange, regardless of the summary duration sign.

filterExpression
Type: SystemString
A string containing a filter expression. Expression variables are relative to the attribute. Use '.' to reference the containing attribute.
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.
sampleType
Type: OSIsoft.AF.DataAFSampleType
Together with the sampleInterval, specifies how and how often the filter expression is evaluated.
sampleInterval
Type: OSIsoft.AF.TimeAFTimeSpan
When the sampleType is Interval, it specifies how often the filter expression is evaluated when computing the summary for an interval.
timeType
Type: OSIsoft.AF.DataAFTimestampCalculation
An enumeration value that specifies how the timestamp is calculated.
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, AFValues
Returns a task whose result is a dictionary of AFValues, indexed by the specific AFSummaryTypes.
Exceptions
ExceptionCondition
AggregateException Asynchronous methods throw AggregateException on failure which will contain one or more exceptions containing the failure.
Remarks

Note Notes to Callers
This method, property, or class is only available in the .NET 4 version of the SDK.

Security note Security Note
You must have ReadData security rights to read a data value.

Note Notes to Callers
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.

Important note Important
Asynchronous data calls in AF SDK attempt to do as much work as possible asynchronously. If no work can be done asynchronously, then the SupportedDataMethods will report that asynchronous calls are not supported. If an attribute uses a Formula or other calculated data reference has any input that supports asynchronous calls, then the attribute will support asynchronous calls. When making an asynchronous data call, input data will be acquired asynchronously when possible or synchronously otherwise. Data calls that require partitioning across versions will always fall back to synchronous calls.

Important note Important
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).

Version Information

AFSDK

Supported in: 2.10.5, 2.10, 2.9.5, 2.9, 2.8.5, 2.8
See Also
Enabling Operational Intelligence