With Tableau Server you can filter your Tableau dashboard using the URL. To filter the Tableau dashboard, pass URL parameters into the URL.
A URL parameter isn’t the same as a Tableau parameter.
Look at some of the URLs in your browser. You may notice some have a question mark (?) in the middle.
Everything after the ? in the URL is a parameter.
There can be multiple parameters – these are all separated by an ampersand (&).
These URL parameters provide a way of querying the database behind the website.
For example, if using a search box on any website check the URL after the search.
It’s very likely the search text will appear after the question mark of the URL.
How to filter Tableau using the URL
Passing Tableau filter values in the URL is simple. It is detailed in this post on the Tableau Forums.
In summary, get the URL of the dashboard on Tableau server.
To add URL parameters add a question mark at the end of the URL. After the “?” put:
- the name of the Tableau field being filtered (case sensitive)
- next the equals (=) sign
- finally the filter value (also case sensitive)
The Tableau the field can be a dimension, measure or Tableau parameter.
For example, there’s a Tableau field or Tableau parameter named EmailAddress, and it is on the filter shelf of your dashboard worksheets.
How to alter the Tableau Server URL to filter
Consider we have a field called [email address] and a field called [ReportYear].
Notice the space between “email” and “address”.
Spaces and other special characters don’t pass in a URL, therefore they must be encoded.
A space within a URL alters to %20.
Therefore email address within the the URL will be email%20address.
The base URL of our dashboard is:
Standard single field / single value filter
To filter the field [email address] by the URL enter the URL parameters be as follows (with the URL parameters in bold):
URL to filter a single field for multiple values
To filter for multiple values use a comma (,). For example to filter for 2 email address values alter the URL as follows:
The URL is:
http://ServerName/views/WorkbookName/ViewName?email%[email protected],[email protected]
URL to filter multiple fields
To add additional parameters add an ampersand (&) to separate the fields. For example the following filters for:
email address = [email protected] AND ReportYear = 2012
The URL is:
URL to filter multiple fields for multiple values
Combining the above, use the following to filter for:
The URL is:
http://ServerName/views/WorkbookName/ViewName?email%[email protected],[email protected]&ReportYear=2012,2013
URL to filter multiple fields – Exclusive Filtering
In fact, URL filters are actually more flexible than standard drop down filters. For example consider the case where you want:
Filtering by the URL gives an option Tableau call Exclusive Filtering. Add
~s0 to the field name to make it Exclusive.
The following URL will filter the above criteria:
http://ServerName/views/WorkbookName/ViewName?email%[email protected],[email protected]&ReportYear~s0=2013,2012
Another useful thing; the filter field does not need to be visible on the dashboard. However the filter field does need to be on the filter shelf of your dashboard worksheets.
Filtering a Tableau parameter by URL
A Tableau parameter is made of two values:
- the Value
- Display As
By default the Display As value is expected in the URL. However it is also possible to use the Value. If passing the Value in the URL use a special character to notify Tableau. In the URL add
~na after the parameter name
Take the following where we have a parameter called UpOrDown. The user is able to choose either Up or Down.
To choose “Down” by URL, Tableau expects the Display As value by default. Therefore the URL is:
However, we can also pass in the actual value, making use of
Obviously this can also combine with the field filters using ampsersand (&).
Filter Tableau URL using a Wildcard
Do you want to filter your Tableau dashboard using a wildcard in the URL? A wildcard is similar to a LIKE statement in some programming languages.
Tableau does support wildcard filters, it’s actually a type of filter. However, these filters don’t work in the URL. URL parameters don’t support wildcard filters.
Fortunately, as with many things Tableau, there is a workaround.
How do I pass a wildcard parameter in the Tableau URL?
To solve this problem, some work is also necessary within the Tableau workbook.
An alternative to a wildcard filter is to use a parameter. String parameters can accept any values and a calculated field can use those values to simulate a wildcard filter.
Create a String parameter with a date type of String. I have set up a simple example using the sample superstore to wildcard filter the Customer Name.
A calculated field, using the CONTAINS function, can pick up this value and convert it to a wildcard.
This converts all values to upper case, then checks if the string entered in the parameter is in the data.
It returns True when it matches a value. Therefore, put this calculated to the Filter shelf and set to True.
Passing the Tableau wildcard value as a URL parameter
Remember Tableau parameters do work in URL parameters. To pass the parameter value, the same as earlier examples, append the following to the end of the URL:
For example, this URL filters for all customer names containing “son”.
(Note: Periodically Tableau alter their Tableau Public URLs. If the link ceases to work properly please mention in the comments so we can update it.)
Notice the end of the URL, that is where I have put the wildcard value. Copy the URL and change “son” to another value and see what happens.
You should have a functioning Tableau wildcard filter that also filters using a URL parameter!