Data source filtering

Are you using our SaaS platform (Baserow.io) or self-hosting Baserow?

Self-hosted

What do you need help with?

I have two databases. The first is populated from the second.
I am building a page that has a table displaying the second database. But I want it to filter out items that are now in the first database.
I have a data source for both databases that I am trying to use to populate the table and do filtering. I am trying to add a filter to it that removes all items in the other data source. I use “does not contain” and compare a specific column in both databases. It filters correctly only if the first database contains only one row. If I add any more rows, it no longer does any filtering.
I am suspecting it concatenating that column from all rows. So if there is one row, it checks against the one item and works. If there are multiple, it concatenates them all together and checks and of course does not see any matches. Is there a way to make this work?

Please attach screenshots or videos if they help illustrate your question.

To simplify the above, the root of this issue is filtering that compares against each element in a data source or table instead of just a single element.

So, I need (serial number, does not contain, any of the serial numbers in this data source).

This seems like it would be a pretty common use case. Has anyone done this?

Thanks.

Hi @JosephV, could you share a few more details to help understand the rationale for this? What is the objective to have that diff of rows?

Sure.
I am making a page where I can build a list of items and then add them to a new database-table.

I have to wait until the save button is pressed to move the items in the database, because if the user changes their mind closes out of the page, I can’t have the items already moved.

I ended up making a new column in my main table of items called pending instead of using a temporary table. If an item is pending it is moved from the second table to the first. That worked.

unfortunately, I am finding that once I have my list, I am not able to do anything with it. I cannot find a way to perform an action on the entire list, such as adding it to a table.

What do you mean by; perform an action on the entire list, such as adding it to a table?

Could you give an example of this or share some screenshots of the schema and what the end goal should look like?

I have a picture of the setup attached. I start with an items table that contains a “pending” Boolean column. I display these items on the “My Items” table. I press “Move to Pending” which will make the “pending” Boolean for that particular item true and refresh both data sources. Each table has a data source that filters items using the “pending” Boolean value. So, items can now be moved between the two tables. The intent is for the user to select items from “My Items” and move them to “Pending Items” to build a list of items to work with.

Then they would select the “Move Pending Items to Working Table” button. This button needs to take all the items in the “Pending Items” display-table and copy them from the “Items” database-table to the “Working” database-table. But I cannot find a way to move multiple items. I can only do one item on a single button press.

Thanks for the details Jospeph!

Unfortuantely this is a limitation at the moment in being able to work with arrays of data in this way as a workflow. This is soemthing the team is working on.

Right now your only option would be to create a backend workflow using something like n8n/Mkae/Zapier or code that can take these actions for you via the API.

Thank you.

I am starting to look into such options. I don’t think I will be able to use any third-party options. To code a solution using the API, would that need to be a plugin?

You could write your own script to do it if you know how. Otherwise there is the possiblity an LLM like Claude could create something like this for you but it’s really best if you understand what it’s doing otherwise it could end up badly.

When you say, “write your own script”, is that referring to creating a plugin, or is there another scripting functionality?

It was referring to simply coding your own script to perform the tasks you wanted. Such as in Python or Javascript. Not as a plugin to Baserow but simply as it’s own standalone script.