What makes advanced filter a really powerful and useful tool?

We have already mentioned that we've developed a data filtering mechanism that allows building complex filtering conditions, using logic operators AND, OR and perform geo filtering. However, there is another thing that rockets filtering possibilities to a higher level. Namely, advanced filter access to linked data. For example, in Accounts module (as well as any other module that supports advanced filter) you can now build filters with the use of not only the module's main list fields, but also those of other data lists in this module (addresses, contacts, activities, files etc), and even fields from the data lists of other modules that are linked with Accounts.

Before, in order to build a complex query involving fields from different data lists you'd have to use reporting system. Which would take a lot of time and effort requiring SQL skills and other special skills. Another inconvenience is that the final report would be separated from the place where its data would be needed. We're talking about such cases when mailing is to be done by selected data or when this data needs to be corrected. Therefore, building a report via reporting system only gives you some extra hard time as you transfer the data from report to module where it should be applied.

Let's assume we need to find in Accounts module all companies with unvalidated address. Since a company may have several addresses, we should build our query with the use of Account Addresses which is an additional data list (Accounts, the main data list contains only primary addresses). In order to use Account Addresses we have to connect it: select Add/Remove Related Entities… command in advanced filter.



This opens the following window:



In the Selected field, you can tick the data lists you need to connect. We need Account Addresses so let's tick the corresponding box.



And click OK. Now, when Account Addresses fields are added to advanced filter, we can build a query and find all the companies that have unvalidated addresses. In order to define whether an address is validated, advanced filter checks the Validated field from Account Addresses list.



Let's now build a query which will check whether this field has negative value for every address.



And execute it by clicking the Apply button. Finally we will get the following selection:



It is crucial that our selection is located in the same place where we can validate addresses and flag the Validated field. Let's open a list of addresses for one of the companies.



As we can see, none of the addresses is validated. A person responsible for address validation should check them and tick the Validated field for all the valid addresses.

In the same way you can build queries to any other linked data and get your selection exactly where you want to process it.