Linked Attributes
=================

In principle, :doc:`DEXi <DEXi>`'s :doc:`multi-attribute
models <DEXiGlosMAMod>` have a strict :doc:`tree <DEXiGlosTree>`
structure: :doc:`attributes <DEXiGlosAttr>` are structured so that
there is exactly one path from each aggregate attribute to the root of
the tree. This means that each attribute (other than the root)
influences exactly one parent in the tree. Sometimes, this is not enough
and we wish to introduce attributes that influence more than one parent.
In other words, we wish to create attribute *hierarchies* (directed
acyclic graphs) rather than ordinary trees.

For this purpose, DEXi :doc:`version 2.0 <DEXiNew20>` introduced the
concept of *linked attributes*. The idea is that whenever there are two
attributes in the tree that have equal names and equal
:doc:`scales <DEXiGlosScale>`, and at least one of them is basic, they
are declared 'linked' and they 'logically' represent a single attribute.
Attribute linking is done automatically by DEXi, but only when
explicitly enabled in :ref:`Settings/Advanced <DEXiIntSett_adv>`. By
default, linking is disabled and equally named attributes are considered
different.

This concept allows that DEXi's :doc:`trees <DEXiGlosTree>` still
retain their basic tree structure. In tree displays, linked attributes
appear separately, so the tree structure is preserved - it is only that
linked attributes are represented by special symbols: |linked| in :doc:`Tree
Views <DEXiIntTreeView>` and with italic letters in
:doc:`reports <DEXiIntReport>`. On the :doc:`Options
Page <DEXiIntTabOpt>`, however, any 'chain' of linked attributes
appears only once, so there is no need for duplicate data entry. Linked
attributes are also properly handled during the
:doc:`evaluation <DEXiGlosEval>` and on the :doc:`Evaluation
Page <DEXiIntTabEval>`.

Recommendation
--------------

Attribute linking works only when enabled in
:ref:`Settings <DEXiIntSett_adv>`. In that case, it is done
automatically while you edit your model on the :doc:`Model
Page <DEXiIntTabMod>`. As this may appear confusing, you may
temporarily disable linking. When enabled again, your links will be
restored automatically.

.. |linked| image:: images/a_lnk.png

.. toctree::
  :hidden: