Filter Parameters
Hashboard allows you to apply additional filters to your explorations and dashboards using URL parameters.
Common use cases for filter URL parameters include:
- Embedding a filtered view inside another application, using context from outside the iframe
- Generating Hashboard URLs from a script or external application
Filter URL parameters are supported when viewing Hashboard resources as a logged-in user on the web application or in embedded iframes. They are not supported for public links.
Filtering Explorations with URL Parameters
To apply a filter to an exploration via a URL parameter, append ?filters=[...] to your Hashboard URL, using a URL-encoded list of filter JSON specifications. The keys in these JSON objects match those used in the YAML specification visible in the resource’s code editor.
Any valid filter added through the code editor can also be applied via the URL. If a filter is applied to a columnId that already has a filter in the base exploration, the URL filter will override the existing one.
You can also use the filters URL parameter with Saved Explorations. When applied, Hashboard will start a new exploration with the provided filters.
Filtering Dashboards with URL Parameters
Dashboards support pre-selecting global filter values using the filters URL parameter.
To set global filter values, append ?filters=[...] to your Hashboard URL with a URL-encoded list of filter JSON specifications. The columnId of each filter must correspond to a global filter control on your dashboard. The dataModel key is optional—if omitted, the filter will apply to the first global filter that matches the provided columnId.
Examples
Note that most modern browsers will automatically encode your URL when pasted into the address bar.
Filtering a single column by a list of values
Filter YAML:
filters:
- columnId: m::orders.type
values:
- Single Order
- SubscriptionURL parameter:
?filters=[{"columnId":"m::orders.type","values":["Single Order","Subscription"]}]Encoded URL parameter:
?filters=%5B%7B%22columnId%22%3A%22m%3A%3Aorders.type%22%2C%22values%22%3A%5B%22Single%20Order%22%2C%22Subscription%22%5D%7D%5DFiltering multiple columns
Filter YAML:
filters:
- columnId: timestamp
range:
- - -6
- month
- startOfPeriod: false
- - 0
- minute
- columnId: item_number
gt: 2URL Parameter:
?filters=[{"columnId":"timestamp","range":[[-6,"month",{"startOfPeriod":false}],[0,"minute"]]},{"columnId":"item_number","gt":2}]Encoded URL parameter:
?filters=%5B%7B%22columnId%22%3A%22timestamp%22%2C%22range%22%3A%5B%5B-6%2C%22month%22%2C%7B%22startOfPeriod%22%3Afalse%7D%5D%2C%5B0%2C%22minute%22%5D%5D%7D%2C%7B%22columnId%22%3A%22item_number%22%2C%22gt%22%3A2%7D%5D