VisFlow works with heterogeneous data by linking. Essentially, linking relates two heterogeneous tables by defining a key value shared between the two tables. Each table must have a column that contains the keys. Linking can be achieved using a Linker


To link two heterogenous tables T1 and T2, one column must be chosen from the two tables as the shared key column. The corresponding rows in the two tables must have an equal value in the key column. The key values are extracted from T1 and used to filter data items from T2.

For example, assume T1 contains the mpg values of the cars:

name mpg
amc 15
buick 14
chevrolet 18
... ...

Assume T2 contains the sales number of the cars:

car name sales number
amc 3
buick 2
chevrolet 4
... ...

The shared key column is name from T1 and car name from T2.

If we want to find the sales numbers for a subset of cars from T1, we can extract the name values of the T1 subset into a list of constants, and then use these constants to filter and find the data items in T2 that match these car names. We can use a Linker

for this purpose: set Extract Column to name from T1 and Filter Column to car name from T2.