Filters in Holistics

What is Filter

Filter is component to be added to the dashboard to let end-users (viewers) filter down (control/restrict) the data displayed. When interacting with a dashboard filter (selecting operators, filter values...), a final condition will be applied to the widgets that use the filter.

Widget Filters and Dashboard Filters

Widget filters (or Local filters) are conditions that are applied on any specific report/widget. Here I'm going to apply conditions to my report when exploring it:

filters

Dashboard filters are the main filters created at Dashboard level. When you edit a filter, a filtering condition will be generated and applied to the widgets that filter is mapped to.

filters

Structure of a filter

  • Operator: specify the comparison type, for example IS, IS NOT...
  • Value: the value of the filter. The value you can select/input depends on the data type of the filter.
  • Modifier (optional): only available for some of the operators in Date filter (for example, next, last X days/months/years.

Filter types

Please follow the links for more details about each type of filter

Add filters to a dashboard

As a creator, you can add some filters to your dashboard so that consumers can flexibly interact and easily find the information they need.

Click on Add filter icon on the top right corner, and choose from the five types of filters (Field, Date, Text, Number, True/False) to filter your data.

In this example, I create filter named Date from field orders.created_at of Ecommerce Dataset and map it to orders.created_at fields of all widgets. When a viewer changes the Date filter value, a filtering condition will be applied to all widgets that are mapped to this filter.

filters

A note on mapping between filter and widgets:

  • Field filters will be automatically mapped to the widgets that use the same Dataset
  • Manual-input filters need to be manually mapped to widgets and fields.
  • Filters can only be mapped to the fields of the same data type.

Filter Suggestions

By default, in dashboards or data explorations, when a user enters a value in a text filter, Holistics will suggest options that match what the user enters.

The suggestions are generated by running SELECT DISTINCT query on the dimension. We fetch 100K distinct values of the field and cache the result, any permission rules for the user would be applied as well.

SELECT DISTINCT(field_name)
FROM dataset.datamodel.table_name
WHERE <permission_rules>

Initially, we show 200 records in the suggestion dropdown. As user types in, we will search on the cached result on our own cache to optimize performance. The cache duration is 8 hours by default.

Other functionalities (coming soon)

  • Enable/disable filter suggestions
  • Set filter suggestion cache