Creating and Removing a Relationship Between Tables

Relationships are the backbone of any data model. They define how different tables connect, allowing you to combine data points - like linking a specific customer to their order - to create a comprehensive view of your business.

Sisense provides four primary ways to join data within ElastiCubes and Live Models. The join type you choose determines what data is visible when tables are joined.

Join Type Behavior Best Used When...

Inner (Default)

Returns only the rows where there is a match in both tables. Data integrity and high performance are your top priorities.

Left

Returns all rows from the left table, plus matching rows from the right. You need to see all primary records, even those without a related entry (e.g., all customers, even those with no orders).
Right

Returns all rows from the right table, plus matching rows from the left. You want to focus on the secondary table's complete list.
Full
Returns all rows from both tables, regardless of whether a match exists. You need a comprehensive view of all data to identify "orphaned" records or gaps on both sides.

Note:

Left, right and full joins are only compatible with the Analytical Engine.

Choosing the Right Relationship

As a data modeler, your choice of join type impacts how business analysts interact with the data:

  • Use Inner Joins to enforce strict data governance. This ensures that the dashboard only displays complete, "clean" datasets where all relationships are valid.

  • Use Outer Joins to find data gaps. These are ideal for identifying missing data or business opportunities, such as locating unsold inventory or customers who haven't made a purchase in a specific timeframe.

Note:

Sisense defaults to inner join to ensure optimal performance and data consistency across your models.

To Create a Join Between Tables:

  1. Navigate to the Data tab and select the data model in which you want to create the join.

  2. Click Relationships to open the Relationships panel.

  3. Select the two tables to be joined. (You can also join 2 tables by dragging the table over the target table).

  4. Select the columns to be joined.

    Note:

    • Ensure both fields that you are using to create the join are of the same type, for example decimal fields. Each column can only be part of one join. If you want to use the same column for different joins, duplicate the column and create a new join.

    • Once a join is created, it is automatically saved (even before clicking Done).

  5. To check or change the field type: in the left pane, click the field type of the field you want to change and select the new type from the list.

  6. By default, the tables are joined using an inner join. To change the join type, use the drop down menu to select the desired join:

The "default" join type currently indicates an inner join. In future versions, data models may be able to inherit other flexible join behaviors from an upper-level setting/product. At such a time, "default" may be changed to represent a different join type. Selecting "inner join" will ensure inner join behavior even if the default changes.

Tip:

When viewing the data model in list mode, hover over the item in the relationship column to view its join type (or to remove it).

In diagram view, hover over a relationship line to view its join type for non-default join types.

 

To Delete an Existing Join:

In diagram view: click the line that represents the join and click .

In list view: In the join type column, click the icon for the join to be deleted:

From the popup, click .

If you are deleting a join from a table with multiple joins, you will first need to select the join icon and then select the specific join to be deleted: