Lineage and impact analysis
Two diagrams describe how an element is connected to the rest of the model: lineage shows what an element is calculated from, and impact analysis shows what depends on it. Both open on top of the current screen and both are built on the same canvas as the fact table configuration.
Lineage
Lineage visualises the dependency tree of a measure — every element needed to calculate it.
Where to open it: the View lineage action in the Measures tab of a fact table, in the Measures catalog of the Data model page, and in the Details from RMD dialog of an element.
What the diagram shows
The measure being analysed is the root of the tree; the leaves are base elements that are mapped directly to a database column. For every measure in the tree three kinds of children are resolved:
| Child | Description |
|---|---|
| Facts | Facts mapped directly to a database column |
| Dimensions | Dimensions mapped directly to a database column |
| Measures | Nested calculated measures, expanded recursively down to base elements |
Node types:
| Node | Description |
|---|---|
| Fact table | Container that groups the elements belonging to one fact table |
| Dimension group | Container of a dimension group |
| Measure, dimension, fact | An individual element, with its mapping information |
Nodes are connected by directed edges that read "is calculated from". Edges are ordered by hierarchy level so that the tree stays readable.
Measure nodes carry the health icon of the measure; hovering over it shows the health summary (see the Measure health cards page).
Working with the diagram
| Action | Result |
|---|---|
| Hover over a node | Tooltip with the details of the element |
| Click a node | Opens the details of the element |
| Drag a node | Changes its position for readability |
| Zoom and pan | Standard canvas gestures |
| Search | Filters the nodes by name |
With edit rights, a measure can be edited directly from the lineage view: open the edit dialog from the diagram, change the measure and save. The diagram closes on save or cancel. If node positions were changed, a warning about unsaved changes appears when you try to close the diagram.
Users without edit rights — the Viewer and Analyst roles — keep the visual interactivity of the diagram: they can drag nodes, zoom, pan and search. These actions are not saved, so editing elements and saving positions are not available to them and no unsaved-changes warning is shown.
Impact analysis
Impact analysis is the inverse of lineage: it shows the elements that depend on the selected element — everything that would be affected if that element were changed or deleted.
Unlike lineage, impact analysis does not require a formula and works for any measure, dimension or fact. It is available to all roles, including Viewer, within the projects a user has access to.
Where to open it: the Open impact analysis action on the toolbar of the RMD screen, active when exactly one row is selected on the Measures, Dimensions or Facts tab, and in the Details from RMD dialog of an element. The diagram opens in the Impact analysis window.
Dependency levels
Dependents are grouped by the way the dependency arises:
| Level | Description |
|---|---|
| RMD elements | The selected element appears in the formula of another measure, dimension or fact |
| Fact tables | The element, or an affected element downstream of it, is added to a fact table |
| Dimension groups | The element is included in a dimension group |
| Common measures | An affected measure that is not assigned to any fact table |
| Data marts | The element is selected, hidden, filtered or aggregated in a data mart |
| Data mart views | A data mart containing an affected element has a view created in the database |
Layers are arranged in that order, from the selected element outwards: RMD elements, then fact tables, dimension groups and common measures, then data marts, then data mart views. The last layer shown is the furthest one that actually contains something.
Diagram elements
| Element | Description |
|---|---|
| Element node | A measure, dimension or fact. For primary elements the connected source is shown as connection / schema.table / column, or "Connected source not defined" when it is not configured |
| Container block | A fact table, dimension group, Common measures block, data mart or data mart view, with the list of elements it contains |
| Health icon | Shown next to measures in element nodes and in the lists of fact table, Common measures and data mart blocks. It shows the overall health status of the measure, and hovering over it shows the health summary (see the Measure health cards page) |
| Arrows | Directed links pointing from an element to the elements that depend on it. This is the opposite direction to lineage |
| Circular-dependency indicator | Shown on an element that re-enters its own dependency chain. The branch is not expanded further; the tooltip reads "Circular dependency detected - expansion stopped" |
| Orphaned-reference indicator | Shown on a reference to an element that no longer exists, with the tooltip "Referenced element no longer exists" |
Working with the diagram
| Action | Result |
|---|---|
| Click an element node | Highlights that element everywhere it occurs, including inside the formulas of its dependents, and highlights only its outgoing arrows |
| Click it again, or click the background | Clears the highlighting |
| Drag a node | Changes its position for readability. The diagram is read-only and positions are not saved |
| Select layers | Dropdown with two checkboxes, both selected by default: Complete fact tables and data marts shows all elements of a container instead of only the affected ones, and Data mart views in the database shows the data mart view layer |
The diagram is capped at 10 dependency levels and 500 nodes. Beyond that the tree is cut off and the message "The tree is large and was partially collapsed" appears on the canvas.
Editing from the diagram
Dialogs open on top of the impact analysis view, and the tree is rebuilt automatically after a save.
| Object | Available action |
|---|---|
| Measure, dimension, fact | View the details of the element; edit a measure |
| Fact table | Edit fact table |
| Dimension group | Edit dimension group |
| Data mart | Edit data mart |
| Data mart view | Manage the data mart view in the database: show it, update it or delete it |
Whether a container can be edited depends on the user's effective role in the project:
| Container | Roles with edit rights |
|---|---|
| Fact table, dimension group | Super administrator, Administrator, Developer |
| Data mart | Super administrator, Administrator, Developer, Analyst |
The Viewer role can open the diagram and the details dialogs, but cannot edit containers.
States and concurrent changes
- The tree is a snapshot: changes made by other users while the diagram is open are not pushed into it. It is rebuilt when you perform an action that needs current data
- If an element or container was deleted by another user in the meantime, the message "This element no longer exists. The impact tree will be refreshed." appears and the tree is reloaded
- If the tree cannot be built, the diagram shows "Failed to load the impact analysis"
- Closing the window needs no confirmation: nothing in the impact analysis view is saved
Limitations:
- Impact analysis has no search field and no export
- An element with no dependents produces an empty canvas