Show Table of Contents
To understand how Tableau structures view URLs, let's take a close look at an example in the browser address bar.
In Tableau Server or Tableau Online, the basic URL pattern for a Tableau view is:
In a multi-site environment, for views saved to sites other than Default, the site ID is also included in the URL:
To create a filtering URL, you append a query string to the base URL.
For URLs pointing to Tableau Online or Tableau Server, start the query string with a question mark (?).
For URLs pointing to Tableau Public, because default URLs already include a query string, begin your parameter code with the ampersand (&) character.
Within the query string, parameters (filters) are separated by ampersands (&), and multiple values per parameter are separated by commas. For example:
In addition, any characters in your field or sheet names that cannot appear in URLs are URL encoded. For example, a space is converted to
Note: Before you add URL parameters, remove
:iid=[#] at the end of the URL. This is a temporary view counter for your current browser session.
The examples in this article use the Performance view, in the Superstore sample data that comes with Tableau Server:
The example URL reflects the following attributes:
To follow along with the examples, you can look at a similar view from Superstore, or you can adjust the example URLs to use the field, sheet, and other names from your own environment. If you are using your own view, make sure you publish it to the server.
For the example view used in this article, the base URL is:
To display only sales of furniture, at the end of the URL, add the following query string:
To limit the view to Consumer sales, change the URL to:
To show both home office and consumer sales, change the URL to:
Notice that in the field name "Home Office," %20 represents the URL-encoded space character, as described in Adding parameters to the base URL.
Here multiple values are separated with a comma, but not a space.
To show multiple field/value pairs, separate them with an ampersand.
So far the examples shown in this article display all values for the fields in the resulting views. For more flexibility, you can specify multiple values for a specific filter, and include an additional parameter that displays only particular intersections of those values.
The following URL describes the base, unfiltered view used in this example, showing department sales by region.
Next, to show sales for only the Furniture and Technology departments in the Central and West regions, you would add the following query string to the base URL:
To show only Furniture sales in the Central region and Technology sales in the West region, add the
~s0 parameter to the query string used in the previous step.
The final URL looks like this:
When you want to filter date fields, take into account how dates are formatted and behave in a database environment:
Date (and time) values passed via URL parameter need to match the following Tableau default format:
Many databases store dates as datetime values, so you may need to include a time part in the value you provide in the parameter.
The time part is based on a 24 hour clock, so 10:18 pm is specified as 22:18:00.
The following example query strings use a date field called Order Date. As in the previous examples of this article, you would add these to the base URL of your view.
If the Order Date field type includes only the date (with no time of day), and you want to show data only for July 8, 2015, the query string would look something like this:
If Order Date includes the time part, to filter on July 8, 2015 at 10:18 pm, the query string might look like this:
If Order Date is only the date, and you want to filter on multiple dates, you would use commas, as described earlier in this article. For example:
To filter by date part, use the same nomenclature as in the default Tableau Desktop date hierarchy. For more information, see Date Functions in the Tableau Help.
|quarter(Order%20Date)||Integer between 1 and 4|
|month(Order%20Date)||Integer between 1 and 12|
|day(Order%20Date)||Integer between 1 and 31|
|my(Order%20Date)||Six-digit integer: YYYYMM|
|mdy(Order%20Date)||Eight-digit integer: YYYYMMDD|