Pre-filtering (or Server-Side filtering) is a mechanism by which one can download working portions of a dataset at a time, rather than the whole dataset. By reducing the amount of data your machine is handling it will run faster. For example, you may only be planning on working on Finance records in a given session, so you could choose to load only Finance nodes.
To turn on pre-filtering
Pre-filters are triggered by tagging the properties you want to be able to filter by with the tag : -
Once tagged this way, the contents of this property will be indexed server-side.
- In order to index these data, they are held unencrypted. Never tag with
aggregateany property which is sensitive. In general, this means any property which has unique values (or near unique). It should be reserved for text fields (dimensions) where the number of unique values is small. Country and Department are good examples. Numeric fields will be treated as text. All other field types are unsupported
- Avoid using properties with high numbers of distinct values
- You may repeat this for as many properties as you wish to use in the filter. However around five properties are recommended as a usable set of filter properties
To open a dataset with filters applied
When opening a dataset from the Home Screen which has been tagged this way, a Filter Control will be opened from which the user can both select the subsets of data and the properties to load into the work space.
The left hand side of the filter shows the properties tagged with 'aggregate' and allows you to filter nodes by those properties. The right hand side of the filter shows the list of all available properties and allow you to select which ones to load.
Certain properties will be mandatory, such as:
- Parent ID
Other properties can be made mandatory, from their settings dialogue.
Please note that if you select a property which has dependent properties, but do not select the dependents, the property will not work. You must remember to select dependents too. Dependent properties are not automatically selected or highlighted. If you do not know which ones they are, you'll need to look in the property values and find them. For example, a Salary Roll-up property which calculates the salary costs for managers, would need the Current Salary field to be present.
Once the desired subsets and properties have been selected in the pre-filter, there are two options:
- Clicking 'Open' will open the dataset with the chosen filters applied.
- Clicking 'Add' allows the user to Save as a new Filtered view accessible from the Home Screen in the 'Filters' section. You can also create branches this way.
Maintaining the Hierarchy
If the parent_id property has also been tagged with
then the dataset will open with the additional nodes added that are required to build the hierarchy (the ghost nodes).
These nodes are opened in read-only mode with their
_outgoing_count calculated server-side.
Considerations when using the server-side filters
- Properties tagged with
aggregateare not encrypted in the source database
- The server-side filters should not be used on high cardinality properties (properties with many distinct values) because:
- This risks making the data personally identifiable on the database, due to the unique combinations of values
- This adds to the filter loading time
- It works only with dimension (text) properties
- It does not work with calculated properties