Enumeration sets
- Last UpdatedMay 21, 2025
- 2 minute read
- PI System
- PI Server 2024 R2
- PI Server
You typically use enumeration sets to establish predefined values for attribute templates. When you configure element attributes based on those templates, you can then have users select those values from pre-populated lists rather than typing values manually. This helps ensure you have consistent nomenclature throughout your database.
Hierarchical enumeration values
Beginning with PI AF 2017 R2, you can nest enumeration values in a hierarchy. This can be very helpful when you create a predefined set of reason attribute traits. You can create as many levels as you need. Each level is designated by the | character, which you can either enter manually or by right-clicking a row and clicking New Child Enumeration Value.
Hierarchical enumeration set example
Suppose you have an enumeration set of pump manufacturers, with child enumeration values for pump types. Within each pump type you could also create child enumeration values for different models.
Sample hierarchy of enumeration values

When you configure the Pump attribute template, you can simply select the Pump Manufacturer enumeration set as the Value Type, and thereby enable users to select predefined pump types and model numbers.
Sample enumeration set in attribute template

Sort order
Beginning with PI AF 2017 R2, wherever predefined values defined by enumeration sets are displayed, users can select Sort By > Sort By Name to sort those values by name, or Sort By > Sort By Value to sort by enumeration set value.
Video
For information on how to create enumeration sets, watch this video: