AFAnalysisRules Class
- Last UpdatedNov 18, 2025
- 8 minute read
- PI System
- AF SDK 2024 R2
- Developer
The collection of AFAnalysisRule objects is maintained
by the an AFAnalysisRule.

Inheritance Hierarchy
SystemObject
OSIsoft.AFAFCollection
OSIsoft.AFAFCollectionAFAnalysisRule
OSIsoft.AFAFNamedCollectionAFAnalysisRule
OSIsoft.AF.AnalysisAFAnalysisRules
OSIsoft.AFAFCollection
OSIsoft.AFAFCollectionAFAnalysisRule
OSIsoft.AFAFNamedCollectionAFAnalysisRule
OSIsoft.AF.AnalysisAFAnalysisRules
Namespace: OSIsoft.AF.Analysis
Assembly: OSIsoft.AFSDK (in OSIsoft.AFSDK.dll) Version: 3.1.1.1182
Syntax
public sealed class AFAnalysisRules : AFNamedCollection<AFAnalysisRule>, IAFTrace
Public NotInheritable Class AFAnalysisRules Inherits AFNamedCollection(Of AFAnalysisRule) Implements IAFTrace Dim instance As AFAnalysisRules
public ref class AFAnalysisRules sealed : public AFNamedCollection<AFAnalysisRule^>, IAFTrace
[<SealedAttribute>] type AFAnalysisRules = class inherit AFNamedCollection<AFAnalysisRule> interface IAFTrace end
The AFAnalysisRules type exposes the following members.
Properties
| Name | Description | |
|---|---|---|
| Analysis |
This read-only property returns the AFAnalysis that owns this object.
| |
| AnalysisTemplate |
This read-only property returns the AFAnalysisTemplate that owns this object.
| |
| Count |
Gets the number of items actually contained in the collection.
(Inherited from AFCollectionT.) | |
| Database |
This read-only property returns the AFDatabase where this object is defined.
| |
| Identity |
This read-only property contains identity of the object.
(Inherited from AFCollection.) | |
| IsDeleted |
This read-only property indicates whether the owner of the collection has been deleted.
(Inherited from AFCollection.) | |
| ItemGuid | Returns the item in the collection associated with the passed in ID. (Inherited from AFCollectionT.) | |
| ItemInt32 | Returns the item located at the passed in index. (Inherited from AFCollectionT.) | |
| ItemString |
Returns the specified object from the collection by name.
(Inherited from AFNamedCollectionT.) | |
| ItemIdentity |
This read-only property specifies the identity of the objects within the collection.
(Inherited from AFCollection.) | |
| Parent |
This read-only property returns the AFAnalysisRule that owns this
collection of analysis rules.
| |
| PISystem |
This read-only property allows access to the PISystem
associated with this collection.
(Inherited from AFCollection.) |
Methods
| Name | Description | |
|---|---|---|
| Add(T) |
Adds an object to the end of the collection.
(Inherited from AFCollectionT.) | |
| Add(AFPlugIn) |
This methods adds an Analysis Rule defined by the specified PlugIn to the model analysis.
| |
| Clear |
Removes all items from the collection.
(Inherited from AFCollectionT.) | |
| Contains(Guid) |
This method determines whether the collection contains a specific item referenced by id.
(Inherited from AFCollectionT.) | |
| Contains(T) |
This method determines whether the collection contains a specific item.
(Inherited from AFCollectionT.) | |
| Contains(String) |
This method determines whether the collection contains a specific item referenced by name.
(Inherited from AFNamedCollectionT.) | |
| CopyTo |
Copies the entire collection to a compatible one-dimensional Array,
starting at the specified index of the target array.
(Inherited from AFCollectionT.) | |
| Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
| GetEnumerator |
Returns an enumerator that iterates through the collection.
(Inherited from AFCollectionT.) | |
| GetHashCode |
Gets the hash code for this instance of the object which is suitable for use in hashing
algorithms and data structures like a hash table.
(Inherited from AFCollection.) | |
| GetType | Gets the Type of the current instance. (Inherited from Object.) | |
| IndexOf |
Searches for the specified object and returns the zero-based index of the first
occurrence within the entire collection.
(Inherited from AFCollectionT.) | |
| Insert |
Inserts an item into the collection at the specified index.
| |
| IsTraced |
Indicates if a specified level is being traced.
| |
| Remove(Guid) |
Removes the item with the specified id from the collection.
(Inherited from AFCollectionT.) | |
| Remove(T) |
Removes the first occurrence of a specific object from the collection.
(Inherited from AFCollectionT.) | |
| Remove(String) |
The Remove method removes the item from the collection by name.
(Inherited from AFNamedCollectionT.) | |
| RemoveAt |
Removes the item at the specified index of the collection.
(Inherited from AFCollectionT.) | |
| Sort |
Sorts the items in the entire collection using the default comparer.
(Inherited from AFCollectionT.) | |
| Sort(IComparerT) |
Sorts the items in the entire collection using the specified comparer.
(Inherited from AFCollectionT.) | |
| Sort(Int32, Int32, IComparerT) |
Sorts the items in a range of items in the collection using the specified comparer.
(Inherited from AFCollectionT.) | |
| Swap |
Swap the items in the collection by specified index.
| |
| ToString |
Returns a String that represents the current object.
(Inherited from AFCollection.) | |
| TraceData |
Output a data trace event.
| |
| TraceDetail |
Output a detail trace event.
| |
| TraceError |
Output an error trace event.
| |
| TraceEvent(AFTraceSwitchLevel, String) |
Output a trace event with a message.
| |
| TraceEvent(AFTraceSwitchLevel, String, Int32) |
Output a trace event with a message and a duration.
| |
| TraceEvent(AFTraceSwitchLevel, String, Object) |
Output a trace event as a formatted message with a variable number of arguments.
| |
| TraceInformation |
Output an information trace event.
| |
| TraceSummary |
Output a summary trace event.
| |
| TraceWarning |
Output a warning trace event.
|
Remarks
Each analysis consists of an ordered collection of AFAnalysisRule objects that
compromise the complete analysis. When an analysis executes, these analysis rules will be
executed in order.
Examples
// This example demonstrates how to create a model analysis and configure // its analysis rule and time rule. // Get the Database PISystems myPISystems = new PISystems(); PISystem myPISystem = myPISystems.DefaultPISystem; AFDatabase myDB = myPISystem.Databases.DefaultDatabase; // Create an Element with an Attribute AFElement myElement = myDB.Elements.Add("MyElement"); AFAttribute myAttribute = myElement.Attributes.Add("MyAttribute"); myAttribute.DataReferencePlugIn = AFDataReference.GetPIPointDataReference(myPISystem); myAttribute.DataReference.ConfigString = @"\\%Server%\sinusoid"; // Create an Analysis and set its Target to the Element AFAnalysis myAnalysis = new AFAnalysis(myDB, "MyAnalysis"); myAnalysis.Description = "This is an analysis example"; myAnalysis.Target = myElement; // Set the Analysis Rule and Time Rule myAnalysis.AnalysisRulePlugIn = myPISystem.AnalysisRulePlugIns["Imbalance"]; myAnalysis.TimeRulePlugIn = myPISystem.TimeRulePlugIns["Periodic"]; myAnalysis.AnalysisRule.ConfigString = "Balance=Volume;Imbalance=Volume Imbalance;UOM=US gal"; myAnalysis.TimeRule.ConfigString = "Frequency=3600"; // Display the Name, Description, and Target Console.WriteLine("Name = {0}", myAnalysis.Name); Console.WriteLine("Description = {0}", myAnalysis.Description); Console.WriteLine("Target = {0}", myAnalysis.Target);
' This example demonstrates how to create a model analysis And configure ' its analysis rule and time rule. ' Get the Database Dim myPISystems As New PISystems Dim myPISystem As PISystem = myPISystems.DefaultPISystem Dim myDB As AFDatabase = myPISystem.Databases.DefaultDatabase ' Create an Element with an Attribute Dim myElement As AFElement = myDB.Elements.Add("MyElement") Dim myAttribute As AFAttribute = myElement.Attributes.Add("MyAttribute") myAttribute.DataReferencePlugIn = AFDataReference.GetPIPointDataReference(myPISystem) myAttribute.DataReference.ConfigString = "\\%Server%\sinusoid" ' Create an Analysis and set its Target to the Element Dim myAnalysis As New AFAnalysis(myDB, "MyAnalysis") myAnalysis.Description = "This is an analysis example" myAnalysis.Target = myElement ' Set the Analysis Rule and Time Rule myAnalysis.AnalysisRulePlugIn = myPISystem.AnalysisRulePlugIns("Imbalance") myAnalysis.TimeRulePlugIn = myPISystem.TimeRulePlugIns("Periodic") myAnalysis.AnalysisRule.ConfigString = "Balance=Volume;Imbalance=Volume Imbalance;UOM=US gal" myAnalysis.TimeRule.ConfigString = "Frequency=3600" ' Display the Name, Description, and Target Console.WriteLine("Name = {0}", myAnalysis.Name) Console.WriteLine("Description = {0}", myAnalysis.Description) Console.WriteLine("Target = {0}", myAnalysis.Target)
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.