Data Source

Filtering Records

By default all records you chose to see will be displayed in the table. For example, if you’re working on the details page of a customer and chose to view all the jos connected to this customer - all records for this customer will be displayed. To filter these jobs to only show jobs that meet specific criteria (on top of the original criteria) you can do so in the Data Source tab.

You can create as many conditions groups and nested conditions as you see fit.

Regular conditions have the following options; Choose the field, operator and value.

For example: Job Status (Field) is (operator) “Open” (value)

You can add more than one condition and choose if the rule should be AND or OR by changing the “Match All” option to “Match Any”:

In some cases you might want to nest conditions as a “Child Filter Group” which can give you much filtering flexibility.

For example: suppose we want to find the following jobs in our table:

All jobs where title contains “Video” AND where status is “Open” OR status is “Pending” in most query languages this would look something like this:

`job title` CONTAINS “video” AND

(

`status` = “open”

OR

`status` = “pending”

);

This will first check for any jobs with the title “Video” and then will check if status is Open or Pending.

Between the parent and child filter will always be filered as “AND.”

To take this even a step further we can nest another filter below our second filter.

For example: suppose we want to find all jobs where title contains “Video” AND where status is “Open” OR status is “Pending” AND due date is today.

In most query languages this would look something like this:

`job title` CONTAINS “video” AND

(

`status` = “open”

OR

`status` = “pending”

AND

(

`due date` “is today"

)

);

The following is a comprehensive list of filter options available depending on the field type:

Operator

For Fields

is

Text, Long Text, Rich Text, Name, Email, Address, Phone, Text Formula, Radio, Select, Complex Formula, Auto Increment, Link, Connection, Checkbox, Multi-Select, Number, Currency, Basic Formula, Rating, Slider

is not

Text, Long Text, Rich Text, Name, Email, Address, Phone, Text Formula, Radio, Select, Complex Formula, Auto Increment, Link, Connection, Checkbox, Multi-Select, Number, Currency, Basic Formula, Rating, Slider

contains

Text, Long Text, Rich Text, Name, Email, Address, Phone, Checkbox, Multi-Select

does not contain

Text, Long Text, Rich Text, Name, Email, Address, Phone, Checkbox, Multi-Select

starts with

Text, Long Text, Rich Text, Name, Email, Address, Phone,

ends with

Text, Long Text, Rich Text, Name, Email, Address, Phone,

is blank

Text, Long Text, Rich Text, Name, Email, Address, Phone, Text Formula, Radio, Select, Complex Formula, Auto Increment, Link, Connection, Checkbox, Multi-Select, Number, Currency, Basic Formula, Rating, Image, Signature, Slider

is not blank

Text, Long Text, Rich Text, Name, Email, Address, Phone, Text Formula, Radio, Select, Complex Formula, Auto Increment, Link, Connection, Checkbox, Multi-Select, Number, Currency, Basic Formula, Rating, Image, Signature

higher than

Number, Currency, Basic Formula, Rating, Slider

lower than

Number, Currency, Basic Formula, Rating, Slider

is unchecked

Decision Box

is checked

Decision Box

is not unchecked

Decision Box

is not checked

Decision Box

size is less than

File

size is greater than

File

file type is

File

file type is not

File

Filters for date fields:

Operator

Operator Value 1

is

 

is not

 

is during the current

week, month, quarter, year

is during the previous

X days, weeks, months, years

is during the next

X days, weeks, months, years

is before the previous

X days, weeks, months, years

is after the next

X days, weeks, months, years

is before

 

is after

 

is today

 

is today or before

 

is today or after

 

is before today

 

is after today

 

is blank

 

is not blank

 

is before current time

 

is after current time

 

There are several advanced filtering functions on top of the basic that can be added based on the user who’s currently logged in:

  1. Show records that share a connection with the logged in user.

  2. Show records that are connected to a user who has one of the same role as the logged in user.

For the first scenario, we’ll assume the following data structure.

We have 3 tables:

  • Users

  • Companies

  • Jobs

Each Job belongs to a single company and each User belongs to a company- as can be seen in this diagram:

Suppose we now want to view all the Jobs that belong to the same Company the logged in user is part of.

Since each User belongs to a specific company, we can easily add a filter to show his companies. But here there is no direct connection between the User and the Job.

This can be done by adding a “Jobs” component and choosing the filter to only show jobs where Company is connected the Company this user belongs to.

The second advanced filter is the ability to filter records that are connected to a record that is in the same role as the user logged in. That’s a mouthful so let’s break it down.

For this example we’ll assume the following database structure:

We have 3 tables and 3 user roles:

Tables:

  • Jobs

  • Users (our default table)

Each Job belongs to a specific user in our case - the one who created the record.

We also have 3 different user roles: Marketing, Human Resources, and Engineering.

Here is a list of our users currently in the app and their associated roles.

Notice how Jennifer Weiss and Alison Marcus are both assigned the Human Resources role.

Now let’s look at the jobs table.

Notice how Alison has 2 jobs and Jennifer has one job.

Our objective is to allow anyone that shares the same role as the person who created the job the ability to view the job. (For this instance it’ll be helpful to think of each role as a group.)

In this case, suppose Jennifer from Human Resources logs in the app, we want her to see all the jobs created by anyone in the Human Resources team, in this case also Alison… and vice versa.

You can accomplish this by adding the filter in the data source to show records where Created By is connected to any logged in user’s roles. As you can see in screenshot below:

Sorting records

By default you can choose which field is used for sorting records from the server. This can have an impact on which records you see especially when you combine this with limiting how many records you see.

Limit records

By default all records that match the predefined criteria are sent from the database. However, you can limit the number to a specific amount by changing the record limit.