Altair® Panopticon

 

Joining Multiple Data Sources in Workbook Data Table Editor

There are occasions where the desired data is not achieved or available using a single query and table. This is often the case with time series where you want to join a static data set to a time series database.

To join multiple tables, add the source tables in the Workbook Data Table Editor view and join them using a common field or a join key. Furthermore, you can also perform a transform of a table for time series analysis, if required.

 

   NOTE

·           Joining two data sources can be done using more than one left and right key columns is now supported.

·           It is no longer needed to modify the data types to text to join data sources.

 

 

In this section, we will discuss how to join the following sample tables using two common fields.

Sample Table 1

Item

isodatetime

ask_price

ask_volume

bid_price

bid_volume

Price

2008/01/17 13:00:00

17.75

2

17.65

1

Rate

2008/01/17 13:00:01

17.70

2

17.64

1

Price

2008/01/17 13:00:00

17.74

1

17.61

1

Sample fields

Sample Table 2

TradeID

RatePrice

ISODateTime

trade_price

trade_volume

Side

AggressivePassiveDark

1

Price

2008/01/17 13:00:00

17.79

200

Buy

Aggressive

2

Rate

2008/01/17 13:00:02

17.65

100

Sell

Dark

3

Price

2008/01/17 13:00:04

17.72

100

Buy

Dark

Sample fields

Steps:

1.     On the Data Sources Settings pane, add a new data source by clicking the Add Data Source   button.

The list File/URL data sources is displayed on the Connectors pane.  

 

2.     Select a data sources tab then select a data source.

When there are two or more data sources on the Data Sources pane, the Join  icon is displayed.

3.     To join the data sources, click the Join  icon.

The icon changes to    and the  Join Settings pane displays.

 

4.     Select the join Type:

·         Left Outer Join  

Keep all rows from the left table. When there are no matching values from the right table, empty values will be returned.

·         Right Outer Join

Keep all rows from the right table. When there are no matching values from the left table, empty values will be returned.

·         Full Outer Join

Returns all rows from both tables, whether they have a matching row or not.

·         Inner Join

Select only rows from both tables for which the join keys match.

·         Cross Join

Returns the Cartesian product of rows from tables in the join.

5.     Click .

 

6.     Select the unique ID from the Left Column data source from the drop-down list that will be used to match the unique ID from the Right Column data source (e.g., Item).

7.     Select the unique ID from the Right data source from the drop-down list (e.g., RatePrice).

8.     Click  then click  to expand the Data Preview pane.

The selected join type is displayed in the Join definition box and the data table of the joined data sources is loaded on the Data Sources Preview area.

·         For the Left Outer Join, the joined table now displays seven rows based on the Item join key of the left table.

 

·         For the Right Outer Join, the joined table now displays seven rows based on the RatePrice join key of the right table.

 

·         For the Full Outer Join, the joined table now displays all rows that are matching or not matching based on the Item/RatePrice join keys of both tables.

 

 

·         For the Inner Join, the joined table now displays seven rows based on the Item/RatePrice join keys of both tables.

 

·         For the Cross Join, the joined table now displays twelve rows based on the combination of each row from the first table with each row from the second table.

Note that Join Keys definition is not available.

 

9.     Now, let us add new left and right join keys. Click  on the Join Settings pane.

A new Left Column and Right Column entry displays.

10.   Select the left and right join keys (e.g., isodatetime and ISODateTime)

11.   Again, select the join Type.

12.   Click .

The selected join type is displayed in the Join definition box and the data table of the joined data sources is loaded on the Data Sources Preview area.

·         For the Left Outer Join, the joined table now displays three rows based on the Item and isodatetime join keys of the left table.

All of the rows from the left table are kept. Note that for the rows with no matching values from the right table, empty values are returned.

 

·         For the Right Other Join, the joined table now displays four rows based on the RatePrice and ISODateTime join keys of the right table.

All of the rows from the right table are kept. Note that for the rows with no matching values from the left table, empty values are returned.

 

·         For the Full Outer Join, , the joined table now displays six rows from both tables. The first row is based on the Item/RatePrice and isodatetime/ISODateTime join keys of both tables while the next five rows are those that did not match the join keys.

 

 

·         For the Inner Join, the joined table now displays one row based on the Item/RatePrice and isodatetime/ISODateTime join keys of both tables.

 

·         For the Cross Join, the joined table now displays twelve rows based on the combination of each row from the first table with each row from the second table.

Note that Join Keys definition is not available.

 

13.   To delete left and right join keys in the Join Settings pane, click .

14.   Click  to save the join. Once saved, a notification message displays.

 

   NOTE

If there is an error in the join definition, the Join icon or Left/Right Column drop-down is marked with a red border. Consequently, the preview is not displayed.

For example, if the join keys have different data types, an error message is displayed:

“A panopticon.developer.tables.standalone.TextColumn column from the left table in the join is not compatible with a panopticon.developer.tables.standalone.NumericColumn column in the right.”