Relationship Manager in PersivX¶
Before building any report in PersivX, ensure that PersivX knows about the relationships between different files/tables/objects in your workspace. These relationships allow PersivX to create accurate joins and aggregations during analysis.
Relationships can be defined at two levels:
- Global Level: Affects all tiles and charts using the data source.
- Chart Level: Affects only a specific chart (advanced topic - covered separately).
Accessing the Global Level Relationship Manager¶
To access the Global Level Relationship Manager:
-
Click the link icon 🔗 (shown in the top-right corner of the data source box)
-
This will immeidately open up the Global Level Relationship Manager:
The Relationship Manager window has two key sections:¶
-
Visual Relationship Diagram
- Displays a visual graph of all data objects (e.g.,
orders.xlsx
,products.xlsx
). - Shows how these objects are linked together.
- Helps users easily spot orphaned tables or incorrect linkages.
- Displays a visual graph of all data objects (e.g.,
-
Relationship Table (Bottom Pane)
This table shows a list of all active relationships:
Object (Left) Attribute Operator Object (Right) Attribute order_details.xlsx
orderNumber
=
orders.xlsx
orderNumber
payments.xlsx
customerNumber
=
customers.xlsx
customerNumber
employees.xlsx
employeeNumber
=
customers.xlsx
salesRepEmployeeNumber
- Global Badge: Indicates these joins were custom defined in PersivX and apply globally across all dashboards/charts.
- Chart Badge: Indicates these joins were custom defined in PersivX and apply only on the current chart.
- No Badge: Indicates these joins existed in the datasource as Foreign Keys. They apply across all dashboards/charts.
Actions You Can Take¶
Note
When connected to a database, any updates done in the relationships manager do not impact the data source. These updates remain at PersivX level - and guide the engine how to create the query to perform the analysis.
- 🔄 Auto Detect Relationships: Click this button to let PersivX automatically identify potential joins using matching column names and data patterns.
- ➕ New Relationship: Manually define a join by selecting:
- Source and target objects
- Matching attributes
- Operator (currently only
=
is supported)
- 🗑️ Trash Icon: Click to disable or remove a relationship.
- 👁️ Enabled Icon (only in case of live data sources) can be used to ignore/use a pre-existing relationship between tables in the data source as Foreign Keys.
Adding a new relationship¶
You can manually define new relationships using the + New Relationship option in the Relationship Manager.
Steps to Add a New Relationship
- Once you click on the + New Relationship button, a new empty row will appear in the relationships table.
- In that row, describe how 2 tables relate to each other:
- Object 1: Select the first object (e.g., orders.xlsx)
- Attribute 1: Choose the column/field from Object 1 (e.g., customerNumber)
- Object 2: Select the second object (e.g., customers.xlsx)
- Attribute 2: Choose the matching field from Object 2 (e.g., customerNumber)
- Click Save to confirm the relationship.
Once saved, this relationship becomes active at the global level, meaning it will be used across all tiles and visualizations built on this data source.
Best Practices¶
- Always validate auto-detected relationships before building visuals.
- Avoid circular relationships unless necessary—PersivX can handle them but they might confuse other users.