Examples of attribute references to the same element
- Last UpdatedJun 02, 2025
- 3 minute read
- PI System
- PI Server 2018
- PI Server
Note: Attribute references to the same element only work for attributes that have PI point data references configured. See PI point data references.
You can use one of the following approaches to reference an attribute that belongs to the same element:
-
Identify the attribute relative to its top-level ancestor attribute.
-
Identify the attribute relative to the current attribute (the attribute for which you are configuring the data reference).
The following examples refer to the above illustration.
Type of reference
To reference this attribute
From this attribute
Type
Parent attribute
Level
Average
|Level
or
..
Grandparent attribute
Level
Interval
|Level
or
..|..
Parent attribute
Average
Interval
|Level|Average
or
..
Sibling attribute
Average
Minimum
|Level|Average
or
Average
Child attribute
Average
Level
|Level|Average
or
.|Average
Grandchild attribute
Interval
Level
|Level|Average|Interval
or
.|Average|Interval
Top level attribute
Temperature
Any attribute
|Temperature
Full path from top-level ancestor
To reference any attribute from another attribute belonging to the same element, you can specify that attribute's entire path from the element. Start the path with the pipe symbol (|) and use the pipe symbol to separate attribute levels.
In the above illustration, the top-level ancestor of the Interval attribute is Level. To reference the Interval attribute from any other attribute of the same element, type:
|Level|Average|Interval
To reference any top-level attribute from any other attribute of the same element, type the pipe symbol followed by the attribute name. For example, to reference the Level attribute from anywhere, type:
|Level
To reference the Temperature attribute from anywhere, type:
|Temperature
Sibling attributes
To specify a sibling, simply use the name of the sibling attribute. No other notation is usually required, but because the PI Point data reference requires some attribute path characters to differentiate this reference from a PI Point reference, use the full attribute path from the element.
In the illustration shown above, the Maximum and Minimum attributes are siblings. To reference the Maximum attribute when configuring the Minimum attribute, you would type:
Maximum
Parent and grandparent attributes
You use two periods (..) to move up the attribute hierarchy. For example, to specify the parent attribute, you would use:
..
You can use this notation to move up the attribute's ancestor elements. For example, to reference the grandparent attribute, you would use:
..|..
In the illustration shown above, to reference the Level attribute from the Average attribute, type:
..
Because Level is the top-level parent attribute, you could type instead:
|Level
You cannot use this notation to reference the Temperature attribute from the Average attribute, because Average is not a descendent of Temperature. Furthermore, you cannot use this notation to reference the Average attribute from the Interval attribute, because Average is not at the top level of the attribute hierarchy.
To reference the Level attribute from the Interval attribute, type:
..|..
You cannot use this notation to reference the Maximum attribute from the Interval attribute, because the Interval attribute is not a descendant of the Maximum attribute. In this case, you need to use a complete path:
|Level|Maximum
Similarly, to reference the Temperature attribute from the Interval attribute, use
|Temperature
Descendant attributes
To reference a child attribute, you use a period (.), which indicates "this attribute", followed by a path.
In the illustration shown above, to reference the Average attribute from the Level attribute, type:
.|Average
To reference the Interval attribute from the Level attribute, type:
.|Average|Interval
You cannot use this notation to reference the Interval attribute from the Temperature attribute, because the Interval attribute is not a descendant of the Temperature attribute. In this case, you need to use a full path:
|Level|Average|Interval