Dynamic filtering using hilite feature with 3 tables

Hi, I’m new to knime and currently trying to use the hilting feature for interactivity between 3 tables in a component, however I am having a problem due to the publish and subscribe features. My aim is to be able to select from table 1, have the appropriate rows selected in table 2 (and 3), and then be able to deselect/select rows from table 2 to show up in table 3.

Interactivity between the first 2 table views is successful, however when I add the third table, if publish and subscribe is selected for the last 2 tables, then deselecting a single row in either of them causes multiple rows to disappear. If I have neither of the last 2 tables publish selection results then it works, however they are both only linked to table 1 and table 3 has no linkage to table 2. I am using the joiner node and javascript table view nodes.

Hallo @mayakroopra,

I’m not sure if I completely understood the problem. Maybe you could share and example workflow with some data?
Meanwhile, did you also check in the Joiner node that “Hiliting enabled” is checked? This ensures the interactivity between the different Table views is being passed throughout the Joiner node.

I hope that maybe already solves your problem. Otherwise, I’m happy to have a closer look at your workflow.

Kind regards,
Janina

1 Like

Hi Janina,

Hiliting is enabled in each of the nodes so I don’t think this is the problem. Unfortunately I can’t share what I’m working on but I will try and explain it better with some dummy data. I have 2 tables:

Table 1, with details about the item title, description, code, author/director and category of the data:

Title | Description | Code | Category | Author/Director

XX | … | ABC | Movie | John Smith
YY | … | DEF | Book | Fiona Lyons
ZZ | … | GHI | TV | Alice Barr
WW | … | JKL | Book | Damon Gray

Table 2, with customer data regarding the codes of each item:

Customer ID | ABC | DEF | GHI |JKL

Customer 1| xxx | xxx | xxx | xxx
Customer 2 | xxx | xxx | xxx | xxx

My aim is, in table view using a component, to be able to select from a list of the different categories in view A to show a second table with the names of the different Authors/Directors with items in these categories selected (view B). These can then remain selected or be deselected, with table 3 (view C) showing the corresponding code, category, and title of these items and a 4th table below with Customer data for each of these codes (view D). So lets say in view 1 we select Movie and TV, we should have:

View 1:

Category:
= Movie
Book
= TV

View 2:

Author/Director
= John Smith
= Alice Barr
Fiona Lyons
Damon Gray

View 3:

Code Category Title

ABC Movie XX
GHI TV WW

View 4:

Customer ID ABC GHI

Customer 1 09248 NULL
Customer 2 35321 52857

Interactivity works with just views 1 and 3, but trying to add in views 2 and 4 is where I have difficulty. I am simply using a joiner node each time to link the views consecutively, however I’m not sure if this is the right approach.

Thanks, hope this explanation is much clearer.

Hallo @mayakroopra,

I tried to build a small workflow with the examples you provided. For me the interactivity works across all 4 tables. I think you need to make sure that you join all the information and create one main table. From this you can create those different views that you described by using the Groupby node. Just make sure that “Hiliting” is enabled in all nodes. You can find the example workflow attached.

I hope that helps.

Kind regards,
Janina

Forum-interactivityTables.knwf (26.2 KB)

1 Like

Hi Janina,

This has been really helpful with regards to getting that second Author view in there so thank you, however I still run into a problem with the final table. I need the last table to be pivoted such that the Code=Column Name column values become the column headers and the customer IDs are the rows with the corresponding values in the column. So like

Customer ID | ABC | DEF | GHI | JKL
Customer 1 | 09248 | ? | 54366 | ?
Customer 2 | 35321 | 52857 | ? | ?

which is the original view of input table 2. However I wish for the columns to be filtered in/out depending on the codes that are selected in table 3. This is where I have a problem as I cannot seem to get interactivity with the columns when I pivot the table and am not sure how to achieve this. Hope this makes sense and thank you for your help so far.

Hi @mayakroopra,

I’m happy it helped for the second Author view. For your last table view if I understand correctly, you want to remove or add columns interactively. This is not possible. The interactivity only works for rows.
You could maybe use the Multiple Selection Widget (with automatic Re-execution) to let the user select which columns to include or exclude in your last table.

Kind regards,
Janina