Filters in AppSheet applications - in Preview Program

The following feature has been added to the Preview Program. Feel free to test the feature and report issues or possible improvements in this thread.

App users can now filter items from a collection of records using their different attributes.
The feature is available both on mobile devices and desktop computers.

Here is a very simple example. Your application has pastries that have a ‘price’ and a ‘type’ (Sweet vs Savory). In a view that shows all pastries, app users can now filter to see only the ones that are Savory and that cost less than $3.99.

How do app creators enable this?

  • Go to your Data Schema and make sure the ‘Search’ toggle is turned on for each column that app users should be able to consider
  • Save your application

App users will see the feature after their next sync.

How do app users work with it?

  • After it’s been enabled by the app creator and after app users have synced their app, app users can click on the Search icon
  • In the search bar, app users click on the filter icon (icon screenshot here)
  • This opens the filtering widget
  • App users can then specify filtering values for each column
  • App users click ‘Done’ to get back to the view with the results

See screenshots below for visual details.

What are the supported views?
Only collection views are supported, namely:

  • Card, Deck, Gallery, Table, Map*, Calendar, Chart

The filtering mechanism currently does not support multiple tables at the same time. As a result, filtering on the Dashboard View is currently not available. Similarly, in the Map View it is only possible to filter records of the primary table, but not of the secondary table.

What are the supported data types?

  • Text
  • Enum
  • REF
  • LongText
  • Name
  • ScanText
  • ChangeCounter
  • Number
  • PostalCode
  • Address
  • LatLong
  • ChangeLocation
  • DateTime
  • ChangeTimestamp
  • Percent
  • Decimal
  • Price
  • Url
  • File
  • Image
  • Drawing
  • Signature
  • Thumbnail
  • Video
  • Date
  • Time
  • Email
  • Phone
  • Color
  • Progress
  • Yes/No

Is the filter persistent?
If an app user sets up a filter on a view,

  • After looking at individual records of that filtered list, going back shows the filtered list
  • When the app user goes to another view of the same data set, the filter persists

Does it work offline?
Filtering works offline as it applies to the data that was downloaded to the device.

How does that relate to Security filters?
This is independent of security filters. Security filters allow only certain data to be downloaded to the device. This new feature filters data that’s already been downloaded to the device.




33 Likes

This will save SOOOOOO many hours of building functionality into an app; a huge thank you to everyone on the team for this.

Snoopy thank you

17 Likes

:+1:

2 Likes

FIRST, AMAZING…

We will be doing rapid exhaustive testing on this feature and providing feedback. I hope this is the forum for this level of engagement.

Issue:
It’s showing column names, not the display name for the columns.

6 Likes

Issue:

  • (IMO) - Hitting enter/return should be like hitting “done”
  • Interactive dashboard, maybe regular dashboards as well, allow me to go to search/filter items, and hitting done doesn’t create a filtered item. (To be more clear, I know it’s not available, so can we hide it?)
2 Likes
  • REF fields aren’t filterable?
  • What about enum base type ref, I’m seeing “Not Set”?
  • Further, “Not Set” seems strange to me, i’m thinking if it’s null/blank it should follow GSheets nomenclature of (Blanks)
  • When “search” is there, it would be neat if we could have the same searching that happens when we’re picking from a long ref/enum, it starts auto populating…
1 Like

Will we be able to have control over the filter like a view? How can we effect the order of the filtering options?

Hi @Arthur_Rallu
Thank you for new feature. I quickly tested. Applied filter and it indeed does the job. Move to another view and returned back to the view where we previously applied the filter, but the filter setting is gone. Seems this is not expected behavior, so worth reporting to you.

Following my opinions.
When we apply filter on table settings, it means the settings should be applied globally for all the views which is created out of the same table. This may cause a disruption. The most convenient setting could be either

  1. App creator turn on/off the filter per view. So setting should adhere to part of view settings instead of table s global setting.

  2. If there is no way, but we need to apply setting as a part of table config, then we wish to have option to turn off that setting when we create SLICE from that table. In that way, we are able to control the settings on/off toggle even we made the views out of same data source (table)

On the practical use cases, there would be different cases, that the global setting against table is appreciated and appropriate, while we just want to apply the filter to a particular view only.

@Takuya_Miyai

3 Likes

Adding @Summer to the thread

1 Like

I could not locate this setting on my apps, even after turn on preview features.

Also noticed Enumlist type field is not supported to apply filter, which may cause problem obviously. Just because of preview release, would be able to apply when the feature is formally released?

1 Like

When we apply filter for the fileds for textual values, it could be more useful that the filter would present the list of items out of the exisiting value for that particular fields, then user can tick the box to apply to filter. Then we could still hold the opotin to change this behavior over to the simple free key words search like the current new feature does.

For the moment, it looks like the each filter is not capable to apply filters sort of OR conditions.

11 Likes

In terms of the numeric type fields, presenting mini max value for “from” / “to” filter based on the existing values on the target table, rather than we ask app users freely enter the value. Similarly, the min/max range UI could be more user-friendly to set the range of the values.

7 Likes

Awesome ideas @tsuji_koichi

1 Like

Is this already Christmas ?

1 Like

Thank you @Arthur_Rallu , this is brilliant news.

One quick feedback here: the column name in the filter is showing the column name rather than the “Display Name” field

Amazing ! This is really great :slight_smile:

I understand the comment and request.
Today, the filters only persist if you don’t change the underlying table/slice when you navigate between the views. For instance, when you are on a table view of Table A, drill down to individual records of Table A, and come back to the table view of Table A, the filter is still applied. Another example is if you navigate between a table view of Table A and a deck view of Table A, the filter is still applied.

If we set up options for app creators to specify how filters apply from one view to the next, then we’d need to make the Search behave the same way or separate them to indicate that they behave differently. Today the Search only applies to the current view.

Our plan is to have Saved Filters in a second version so that app users can quickly reapply a filter. What are your thoughts on this, @tsuji_koichi ?

5 Likes

@tsuji_koichi The ‘Search’ toggle is not new and was already there. Previously it allowed to enable ‘Search’. Now, it enables ‘Search’ and Filters.

1 Like

These are all really good comments. Let us know if you see other improvements or issues.
Thanks

1 Like

This sounds fun!