Many-to-Any Relationships

Hey there!

You may be able to do this with custom widgets but it will require quite a bit of coding skills. Link Keys may also be of help.

I built an example for you using the example you provided. Check it out at the link below.

https://public.getgrist.com/1L23XQHxWhS2/Community-650/p/6/m/fork

On the selector page, you’d select type then material updates based on type selected. Then Clock Setting / Voltage would update based on material and type. Last, Connection Technology would update based on the three selected prior.

To set this up, I created a table of ‘Type and Material’ then ‘Type, Material, Voltage’ and then ‘Type, Material, Voltage, Connection Tech’ - each building on the last. Each table has a Building Link column (this is the union result you mentioned) which links to the next table. For example, Building Link in the TM table is referenced by Link to TM in the TMV table. This allows the widgets to update dynamically.

It takes a bit of time to set up. I would build a table then copy/paste into my next (e.g. built TM, copy pasted into new TMV table) then add rows to build out the next selector. You’ll see in Connection Technology where I only completed about half. Quite a few combos still need to be updated with the Connection Technology options available.

Hope this helps!

2 Likes