Filtering tables

@JackVaughan @david

I have been working in the Glide builder for two months developing an App based on my experiences in high tech sales.

Working within the confines of Glide has been rewarding and challenging - but one capability that is a roadblock is reporting.

Many people want actionable data which means roll-ups and analytics. The current roll-up is a good start but the inability to filter data in a relation is very problematic. I need to be able to slice and dice data to compare against different reporting periods and different parts of the organization. Like Q1 or Q2. Or for the channel or the direct sales team. Or customer types. Etc…Etc…

I am now creating dozens of extraneous ‘templated’ fields to act as pseudo filters for inline lists.

After using the system every day for the past two months, rolling up filtered data is proving to be a big challenge.

As you look at new features for Glide - adding a “filter column” field (similar to the roll-up column) would be a VERY welcomed addition and seems the most straightforward implementation that would address 90% of what I need, speaking as an every-person, to use as the basis for sums, averages and count roll-ups by different organization units, teams and customers.

If their is a Glide recommended technique to filter tables by multiple columns and then apply roll-ups - I can not find it. So any pointers welcome.

PS. Still not sure who your target market is but the product itself is a fantastic achievement.

@Jeff_Hager @Robert_Petitto and others have suggested the use of templated fields and ITE logic to create ‘filters’. I am using this technique along with row-owners and roles to ‘filter’ data in a seemingly straightforward manner for the end-user but the ‘behind the scenes’ addition of a dozen or two columns to 4 different tables highlights the complexity of implementing multiple filters.

Unless I am missing a more generalized and simple technique - which I am not discounting!

Here is one of example of the topic with good techniques/ideas:


Yes, it’s one of our most requested features from intermediate users–Conditional Relations / Filtering.

We’re doing a lot of architecture work on Glide Apps this quarter, to make it easier for us to bring improved filtering to columns.


Well, here you can see and test another technique, it’s what I use in cases like yours Multi Filters using Relations: a new way 💡


Too late for a wish list? Front of the filtering queue (top of the pile?) should be filtering by dates against a range. If a date falls between a range ( start/end ) would enable reporting for week/month/quarter/year actions and items.

Completely agree. To create filters it requires MANY additional columns in the data editor:

  1. Template columns to create key values
  2. ITE columns to create the conditions
  3. User specific columns to house the user selection
  4. more ITE columns to determine if the user selections meet the conditions
  5. Relations from the IFE columns to the data
  6. Rollups to summarize the relations
  7. Join Lists to feed services like QuickChart

It’s complicated and causes apps to crash if the data set is too large.

Love that @david and team is prioritizing a solution.


Watched the video - looks great.

Now time to look at your App - thanks for getting back to me. Glide can be fantastic and fantastically frustrating. More of the former though.


I do a lot of this sort of stuff, and yeah and it can get pretty complicated and cumbersome pretty quickly. I think the best advice I can give is to make liberal use of helper tables. This helps to compartmentalise your complex logic and keep your data tables cleaner. Often these tables will contain just a single row, although it depends on the specific use case. But the general idea is that a single purpose built table is used to consolidate and summarise data from one or several data tables.

Example: let’s say you need to produce a summary table with month on month totals. The first thing I will do is create a new Glide table and add 12 rows - one for each month of the year. And then I build all (most) of my logic in this table - relations, roll ups, etc. This approach doesn’t necessarily reduce any complexity, but it does make things more manageable.

Here’s a short video to demonstrate what I’m getting at:


Great, great example. You, @Robert_Petitto, @gvalero, @Jeff_Hager and @ThinhDinh (plus others) have been invaluable with tips, ideas and practical Glide examples (how to think in Glide!).

Documentation is light but user experience is rich.

How did you create the inline table comparing year over year? I am assuming this css/rich text and NOT built into Glide.

1 Like

After watching this video a third time I realize this is exactly what I am trying to achieve.

I would have 3-4 different monthly summaries (mostly count) and an “overall” roll-up of all the details

Everything I am rolling up is by ‘grouped’ by date with a ‘location’ as a filter (Southwest, Northwest, Rockies, Great Lakes, etc).

How do you decide what goes in a helper table? Do you use local inline filers to do ‘second-level’ filters (like ‘location’). Do you hand craft tables with pre-built rows containing user IDs or locations to simplify reporting?

This is really good work!


Watching NOW - thank you very much.

Actually, I just remembered that I did a tutorial on this a while back, that goes through the entire process step by step. This includes applying dynamic filters to the table, as well as (static) sorting.