Certain types of derived attributes, like Calculated Value attributes and Episode attributes, are defined using expressions that may contain other attributes. See for example:

Defining one
Calculated
Value in terms of another

As a very simple example, you can define a Calculated Value attribute ‘Ratio’ in terms of two primary attributes as shown below:

Ratio = Sucrose / Glucose

Now support you define another Calculated Value attribute called ‘Sum’ in terms of Ratio, for example,

Sum = Ratio + 1

As ‘Sum’ depends on ‘Ratio’, you can’t now edit the definition of ‘Ratio’ so that it refers to ‘Sum’, otherwise we would have a circular reference.

Hence to prevent circular dependencies, the system automatically assigns a dependency level to each newly-created derived attribute. It is calculated as one more than the maximum level of any attribute in its definition. When you edit a derived attribute with level say n, you cannot redefine it to refer to another derived attribute of level n or greater.

In the above example, ‘Ratio’ has a level of 1 as it only refers to primary attributes. ‘Sum’ has a dependency level of 2 as it depends on ‘Ratio’.

Note: The dependency level of all derived attributes can be seen in the spreadsheet generated when you export attributes using the Attribute Editor.