Dynamic filters are not working with Single Select columns as filter

SeaTable Cloud, Plus subscription.

The new dynamic filters won’t work (for me) using single select columns as filters.

I am trying to use this in a “Link to other records “ column. If I choose a single select column to be my (dynamic) filter and select another single select column from the connected table, it seems that SeaTable won’t recognize equal entrys. Even when I export the options from table A and import them to Table B, so they are identical, no results will be shown (see picture attached). On the other hand, when I’m using “is not” as filter, it shows every entry from the other table.

There is no probem with other columns such as text, date or number.

Please help or clarify the usecases :slight_smile:

Thank you for your feedback.We will fix this issue.

Hi Leo, I made some further testing and found that this won’t work with “Link to other records” as a filter either. There I can’t even select a column to compare with (see picture attached).

This is a analogous usecase of this question: Verknüpfte Dateien kaskadieren? - User Talk - SeaTable Forum .

Is this intended or will it also be fixed in the future?

br niwi

This is also a bug, we will fix it.

Hi, we are on SeaTable 6.1.8 and still cannot use dynamic filters where a Link to other records column is compared against another linked field. Is this bug fix included in SeaTable 6.2, or is it planned for a later release? Thanks!

@Leo.Shi Could you give an update on these two issues?

@Leo.Shi Still nothing, neither update information nor a fix. I was actually planning to switch to Seatable, but if this is how things are going, I’ll reconsider.

I double-checked this issue and discussed it with our development team. It turns out this is not a bug, but a current frontend limitation in SeaTable.

I previously misunderstood this as a bug and replied that we would fix it. Sorry for the confusion caused by my earlier response.

This issue happens when you use a single select column as a dynamic filter in a “Link to other records” field.

If the table behind that filter option source is not linked to the current table, SeaTable cannot correctly resolve and display the matching options.

So even if the single select options in Table A and Table B look exactly the same, SeaTable still won’t treat them as matching values in this setup.

After internal review, we consider this a reasonable limitation in the current product design, and we do not plan to handle it as a bug at the moment.

If this use case is important for you, you can first link the related tables.

@Leo.Shi can you explain this part of your explanation, please?

It sounds like there is a way you can use single selects as a filter.

However, according to your other explanations, I suspect that the inability to match single-select options from 2 tables is due to the (assumed) fact that the filter does not compare the display values of options, but rather their internal option IDs.

If that is true and not changeable as you suggested, is there any point to offer single-select columns for dynamic filters at all?

Anyway, I tried various workarounds I could think of, and only one - the most clumsy one - worked. However, it showed a lot of room where you can give some love to this inherently brilliant feature in general. I personally don’t care much for single select options, but quite often, you cannot live without them (Cascading; Colors for App diagrams; Kanban Boards). Here are the Workarounds I tried:

Linked table (clumsiness level 2/3)

Trying out the solution I suspected from your quote above, I built the following, drawing the single option for both “dynamic linking” tables from the same linked table. I thought that maybe the options may be considered equivalent, having the same internal ID, because they were linked from the same “Options” table.

It failed because of the second thing that @niwi discovered: That link columns cannot serve as dynamic filters as well. Neither can link formulas, in case you wondered.

It was a bad idea in the first place, because in the backend (as opposed to Apps), we cannot restrict link columns to “linking only” (I think that was a feature request that reaches back to Seatable 3.x :wink: ). Therefore, everybody could add new options to the “Option Table”, and even duplicate ones.

Using Formulae (clumsiness level 1/3)

If my theory about the divergence of internal ID and display value was right, I thought I could force the use of the display value by referencing the Single Select columns in formulae, which results in pure string data.

It failed because we cannot use formula columns as dynamic filters as well, which is room for improvement IMHO.

Using Automations (clumsiness level 3/3)

The following workaround word, but just barely, so I’ll describe it very shortly:

  1. For both Single Select columns in both tables, define a text column
  2. Write two automations, one in each table, that trigger with a change of the single select (4 if you want the cover the “new record” event as well), and copy the Single Select value to the text column
    • Because SeaTable does not support type conversions there, you have to use the {field name} option:

    • There’s some room for improvement, too :wink:

  3. Create a text-to-text dynamic filter, and it shoould work

It works, but is slow, resource intensive, creates redundant data unreliably, will not update reliably in Apps without refresh, and the automation breaks every time the Single Select field names change. Not recommended for production.

BTW: The feature is so good in itself that I’d like to have that in the filter of Link Formula columns as well.

We will analyze the issue in detail internally in the next week.