This is a powerful feature that allows the report viewer to query the primary dataset, and use the result to query the secondary dataset.

Let's say that our report should allow the end user to connect the dataset containing the list of their investments (stocks) and the dataset containing 30-years worth of trading history, containing daily prices for all the stocks.

The user is interested in the total value of their portfolio, or wants to see the time series for just one of their investments.

They will first make a choice and query the dataset 1 (list of their stocks), then pass this result to extract the relevant data from the historic dataset.

To create this scenario in Omniscope the user will connect both datasets to the Omniscope report block, then make connection on the [Ticker] field in the Report Data Sources universe.

The two data sources from the workflow will automatically appear in Data Sources as "Source 1" and "Source 2". 

The primary dataset (here list of portfolio stocks) should be used as a first source in the newly-created "Source 3".

By adding a query block before the Join operation we create a 'valve' that controls which values are passed onto the join to find a match in the historic dataset. 

(we can create an equivalent query on the other side, on the historic data side).

The Query blocks here indicate that the filters exposed on the particular tab can control the data feeding the join. Without the relevant filters - this setup will join all the data from the sources 1 and 2.

Note: in order to create controlling devices on the dashboard page - the user needs to expose the Input 1 and Input 2 (original data sources) fields' filters.

This can be a little confusing, because multiple datasets will end up having the same [Ticker] field!

The final part of the job is to point some of the visualisations to the merged dataset - Source 3! (the Line view here)

The whole project is available for download below. Should you have any questions - please contact our