Skip to main content

Filters and role filters explained

Creating role filters to change who an employee can see within the system.

H
Written by Harry Ledger
Updated over 2 months ago

Role filters are used in order to restrict the quantity of data displayed to a user within a menu set, process or calendar.

Role filters vary in nature and range from simple filters to very complex filters. A simple filter may just be showing All Employees in location A, whereas a more complex filter may show you employees in a certain area of the organisation structure who meet very strict criteria.

Their general purpose is to ensure that users only see what they are meant to see, and prevent them from seeing information that they aren't intended to.

A commonly seen filter would be Employees Managed by Employees, which shows the user only employee data where those employees are managed by the User.

Filters explained

Role filters can be applied in three areas of the system:

  • On a process listing.

  • On a field list applied to a process.

  • Against a menu set on a user's account.

Each filter applied will restrict results further, and these filters are applied in order, one on top of the other:

  1. The filter on the process listing is applied first.

  2. The filter on the field list within a process listing is applied second.

  3. The filter on the user account against a specific menu set is applied last.

As an example of this, let's assume that each filter returns results as follows:

  • Process Listing: 50 results.

  • Field List in Process Listing: 40 results.

  • User Account/Menu Set: 30 results.

In this instance, the user would see the 30 results, as this is the final filter applied. This is because the filters applied to the field list and the user account/menu set have effectively removed 20 results from the original 50 results returned by the process filter.

Processes

We can look at one of the standard processes on the system as an example: Employee - Details.

The first filter we can see applied on this process is People (List). This particular list brings back all of the records of your employees on the system. By default, the filter applied to this specific aspect of the process is All Employees.

The All Employees filter is designed to only bring back records where the employee has an appointment record assigned to them - meaning that this process will not display any other non employee records, such as emergency contacts.

Field list

A field list is always applied to a list within a process. Field lists denote the specific columns you can see within that particular part of the process.

For example, on the same process (Employee - Details), the field list by default will show a number of fields, such as:

  • Name

  • Employee Description (their Post)

  • Email

  • Effective Status

  • Payroll Number

  • Job Title

There are many more fields within this field list, but this should give you an idea of what the field list contains. You are able to apply a Default Filter to this field list so that whenever results are loaded, they are automatically filtered for you.

In this example, one of the filters included as standard on this field list is where Effective Status = Current. This means that the field list will always only show Current Employees in the first instance, and will not show employees who are future starters or leavers.

Menu sets

On most processes, there is a tick box option to toggle if this filter will be applied on top of the process and field list filters. You can see this in the example used in this article, the Employee - Details process.

Once this option has been enabled, the process will limit the results based on the role assigned to the user's menu set.

Roles can be set in the User Accounts area of the Admin Tool and can also be applied to users in bulk by using the Groups area.

As an example, let's use the Manager Menu Set.

If the users' Manager Menu Set role is set to Manager, this will automatically filter out any records where the user is not directly managing that employee.

So while the process could for example, return 100 employees at first, if the manager only manages 20 of those employees, the role filter applied to the menu set will restrict the number of results to only show the 20 employees that the user actually manages. All other records will be omitted from the results, and as such, their records will not be possible to view.

Another notable role filter is the Unrestricted Role, usually found against HR menu sets. The Unrestricted role does not perform any filtering at all, meaning that any process they access with this role active will not be filtered in any way, giving them full access to all records.


My manager role filter does not return the employees.

Some role filters are set up to use a procedure to find the subordinate employees.

When you open the filter to check its config, it may appear like this:

This filter returns rows from the table [SelectHR\Person.Details] where the key [Person Number] matches the [Person Number] column of the table returned by the function [Employee].[Retrieve Subordinates] and the function parameter [@PerNo] takes the currently selected key from the table [SelectHR\Person.Details]. The function takes the additional parameters: 1,0

The parameters mentioned at the end refer to levels (how many levels down the organisation structure it checks) and Supervisor (which only finds employees you supervise.)


In this example, it returns managed employees only one level down for the filter:

Employees Managed Directly by Employee

If the filter should find employees you manage, the second parameter's value should be 0.


If you find a filter where this is instead set to 1 and it is not intended to return employees you supervise, this will need correcting.

📌 Notes: Manager type filters such as Employees Managed by Employee and Employees Managed Directly by Employee will only return current employees and will not return leavers, irrespective of the default on-screen listing filter being removed to not show current employees.

The filter Employees Managed by Employee will return all employees lower in the organisation heirarchy than direct reports, including direct reports.


Testing Filters

For the purpose of this article, we are going to test the row filter Employees Managed Directly by Employee against the Person.Details table.

  1. Log in to the Admin Tool.

  2. In the Database section, click Tables & Views.

  3. Scroll down and double-click SelectHR\Person.Details. A new window will open.

  4. Click the Padlock icon to unlock the table.

  5. Expand the Filters tab.

  6. Scroll down and double-click the filter Employees Managed Directly by Employee. A new window will open.

  7. Under Filter definition, click Test. A new window will open.

  8. Click the arrow to select the person for whom you want to test the filter.

  9. Click Close, then Cancel when you are done.


Custom role filters

It is possible to build your own role filters within the Admin Tool under the roles option.

However, building role filters can be a very complex process, and requires advanced knowledge of how to use data exports within the Admin Tool, as well as knowledge surrounding which table the filter needs to be applied against.

Due to these complexities, the creation of new role filters is not something that the support team can assist you with or provide guidance on.

If you are interested in Access assistance regarding role filters, you can contact your account manager, who can arrange this for you.

Did this answer your question?