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.).
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.
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 theLayertable. -
grouping: identifier of the aggregation relationship previously defined in theGroupingtable.
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.
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 theLayertable. -
grouping: select the aggregation relationship defined in the grouping_lineage table. If the desired relationship is not displayed, review the configuration of theGroupingtable.
-
-
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 |
|
grouping_id |
int4 |
NOT NULL. FK to |
Below is an example script to configure different aggregation relationships in the Consumption Layer:
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.