Configuration
Breadcrumbs

Applying Aggregation Relationships to Lineage Layers

In lineage layers, not only are the entities or relationships to be visualized defined, but also which aggregation relationships are applied in each layer.

If an aggregation relationship is not applied to a layer, the relationship will be displayed as a simple line between the nodes of the source and destination entities. In contrast, if it is applied, the relationship will be represented as contained, meaning one object will appear hierarchically nested within another.

For example:

  • In one layer, a DSA may not group any contained entity and display all its relationships linearly.

  • In another layer, the same DSA can be configured to aggregate only the datasets it contains.

  • In a third layer, the DSA can be configured to aggregate all the entities it contains (datasets, reports, etc.).

image-20250912-132428.png
Example showing the DSA_CONTENT relationship between DSA and DATASET as an aggregation relationship in the selected layer

Layer Grouping Table in the Configuration Panel (Administrator view)

Managing which layers a relationship acts as an aggregation relationship in is performed from the Configuration Panel, in the Layer Grouping table.

image-20250912-134036.png
Layer Grouping table for configuring aggregation relationships in a layer

Structure of the Layer Grouping table

Each aggregation relationship applied to a layer is characterized by the following elements:

  • layer: identifier of the layer, taken from the Layer table.

  • grouping: identifier of the aggregation relationship previously defined in the Grouping table.

Important:

These relationships will only be displayed in the lineage as aggregation relationships if the Object Sub-Types table has the flag isParental = true. Otherwise, they will be displayed as a flat relationship.

Creating an Aggregation Relationship in a layer in the Layer Grouping table

Creating a new aggregation relationship in a layer involves creating a record in the layerGrouping table indicating which relationship, from those configured as aggregation relationships, acts as such. This requires having previously configured these relationships in the Grouping table.

image-20250912-133621.png
Example of creating an aggregation relationship in the Consumption Layer

Steps from the Configuration Panel:

  • Click the New button in the upper-right corner.

  • Fill in the fields:

    • layer: select the layer to which the aggregation will be applied. If the desired layer is not displayed, review the configuration of the Layer table.

    • grouping: select the aggregation relationship defined in the grouping_lineage table. If the desired relationship is not displayed, review the configuration of the Grouping table.

  • Click Save to save or Cancel to discard.

Note: After creating the record, it is necessary to run the Clear cache action from the Configuration Panel (Actions > Clear cache) for the changes to be applied and visible in the Data Portal.

Modifying an Aggregation Relationship in a layer in the Layer Grouping table

Modifying an aggregation applied to a layer can be done at any time, as it does not affect governed objects in the Data Portal, but only the way the lineage is visualized.

The modification consists of deleting the existing record in the Layer Grouping table and creating a new record with the desired configuration.

Note: After modification, it is necessary to run the Clear cache action from the Configuration Panel (Actions > Clear cache) for the changes to be applied and visible in the Data Portal.


Configuring Aggregation Relationships in lineage layers via direct database access (Developer view)

Layer aggregations are stored in the anjana.layer_grouping table.

Column

Type

Constraints / Notes

layer_id

int4

NOT NULL. FK to anjana.layer(id). Layer to which the aggregation applies.

grouping_id

int4

NOT NULL. FK to anjana.grouping_lineage(id). Aggregation relationship being applied.

Below is an example script to configure different aggregation relationships in the Consumption Layer:

SQL
INSERT INTO anjana.layer_grouping (layer_id, grouping_id)
VALUES
  (2, 1),
  (2, 2),
  (2, 3);


Important:

  • Once the insert has been executed, run the sequence update for the table. (From the Configuration Panel under Actions > Reset DQ sequences, you can update the sequences of all tables, including this one).

  • The full responsibility for the configuration logic lies with the developer executing the SQL queries directly on the tables. It is recommended to carefully review the Table Structure section.