# Join Configuration

Joins specify to Exago the relationship between Data Objects.

All existing Joins are listed in the Main Menu under Data. All the joins you are adding or editing will be displayed in a Tab entitled 'Joins'.

- To add a new join click ‘Joins’ in the Main Menu then click the 'Add' button.

> NOTE. Joins can be added quickly using Automatic Database Discovery.

- To edit a join either double click it or select it and click the 'Edit' button.
- To delete a join select it and click the 'Delete' button.
- To save changes and new join click the 'OK' button.

Each join has the following properties:

### From Object

The first Data Objects you would like to join.

### To Object

The other Data Object you would like to join.

- The order of the Data Objects is important if you have a one-to-many relation type or a Left/Right Outer Join type. See below for details.

### Join Column(s)

Specify the field(s) of each Data Object that must match to join an entity in the From Object to an entity(s) in the To Object.

### Join Type

Specify whether rows from either Data Object that do not have a match should or should not be included.

- Inner: only includes rows of the From Object that have a match in the To Object and vice versa.
- Left Outer: includes rows of the From Object that do not have a match in the To Object but not vice versa.
- Right Outer: includes rows of the To Object that do not have a match in the From Object but not vice versa.
- Full Outer: includes rows in either Data Object that do not have a match.

### Relationship Type

Specify if the join type is one-to-one or one-to-many.

- One-to-One: Each row in the 'From Object' can join to at most one row from the 'To Object'.
- One-to-Many: Each row in the 'From Object' can join to any number of rows from the 'To Object'.

### Weight

Give a join weight in order to set its precedence when multiple join paths exist between Data Objects. The path with the higher weight will be utilized.

- A report contains three Data Objects ‘Students’, ‘Professors’ and ‘Comp Sci 101.’ Students is joined to ‘Professors’ and ‘Comp Sci 101.’ Additionally ‘Professors’ is joined to ‘Comp Sci 101.’ There are two available join paths between ‘Students’ and ‘Comp Sci 101.’ Adding weight to a join will clarify which of the two paths Exago should use.

# Modifying Joins

Although joins are created in the Administration Console, they are saved within each individual report. For Join changes in the Administration Console to take effect, edit the report and use the ‘Recreate’ button in the Advanced Options menu. For instructions on how to access the Advanced Options please see this article.

> IMPORTANT. It is important to make sure that all of the joins are set to your desired specifications in the Administration Console before you begin building numerous reports.

# Note About Cross Source Joins

Data Objects from different Data Sources can be joined in Exago. Because the Data Objects come from distinct databases they must be joined through code by Exago.

> IMPORTANT. Though Exago strives for efficiency, this process may be memory intensive for large data sets.