Joins - The New Way

What is a join and how do they work in the new UI

Ed Campbell avatar
Written by Ed Campbell
Updated over a week ago

How to create a Join within Report Engine 2.0 - 1 min video

What is a join?

A join is used to unite rows from 2 tables based on a relationship.

Let’s look at an example from a Ads Delivery table from a make believe adsever called Harmonia:

Table A – Harmonia_data_delivery

Below corresponding placement table.

Table B - Harmonia_meta_placement:

In the Data sources area this is classified as meta table and will be labeled following the pattern platform_meta_relastionship (Harmonia_meta_placement).

The blue highlighted columns represents the relation between these 2 tables; Placement ID. To allow you to pull insights such as Impressions & Clicks by Market (image 1) a join needs to implemented. Then you’re able to pull insights such as Impressions & Clicks split by Market:

(image 1)

There are 3 types of joins that can be used in the Bright Analytics Engine; Left, Inner, Right.

The most common type uses is Inner Joins;

The 2 circles represent tables, cast you eyes back to example table 1 and 2 and imagine these are the left and right circle respectively. The blacked out section represents what will be returned; records that have matching values in both tables. If we use our example above with an inner join the output would be:

Notice how row 2 from table 1 placement ID 456936 doesn't appear within this table, this is because there is no match within the Harmonia_meta_placement table.

A left join;

Returns all rows in table A and everything that matched within table B. Within table A in the 2nd row stared ** there is a placement ID that doesn’t appear within the Harmonia_meta_placement table, using a left join this will be returned and the fields will be returned as NULL.

A right join;

This the above inversed, if you revise Table B you will see that there is a placement ID that isn’t appearing within the delivery table, using a right join on our example you’d get the below:

Did this answer your question?