SyncSets are a way to propagate filters between different datasources and elements.
They allow to slice and dice individual subsets of the datasets of the application to be able to take a closer look at the data that matters.
A SyncSet configuration looks like this:
The properties used in the example above have the following meanings:
|sources||array||The datasources involved in this SyncSet|
|joins||array||Mappings between columns of different datasources. In the example, eats and name are mapped|
|syncMap||array||Mappings of which datasource (source) influences which other datasources (targets)|
In this example, we link the fruits and the monkeys datasets via the "name" and "eats" columns respectively. Filters applied to the eats column will also be applied to the fruits' "name" column, if elements are set up accordingly (see below).
Additionally, you need to specify the SyncSets in the configuration of your elements, e.g:
The meanings of the properties in each syncSets-item are as follows:
|syncSetId||string||The syncset to connect the element to|
|applyFilters||boolean||Whether or not to apply filters from other elements|
|publishFilters||boolean||Whether or not to notify other elements about filter changes|
|onlydirectlyPropagatedFilters||boolean||The implicit filtering works by calculating the distinct values for the columns in the syncSet config, even if the filter is on another column. With "onlyDirectlyPropagatedFilters" set to true, elements won't apply those implicit filters but only from columns mentioned in the syncset config. This can help cover use cases where multiple elements affect each other and the existing behavior "over-filters" the datasets. This flag default is set to false, so unless you set it to true, the behavior will stay the same for your app.|
Be aware that "applyFilters" and "publishFilters" also influence the results of a filter. It's always a triad of "applyFilters", "publishFilters" and "onlydirectlyPropagatedFilers".
In our example, if we set a filter on the "eats" column of monkeys, the table with fruits will also update, showing only the fruits we selected.