Interactivity
Interactivity covers filters, visible controls, highlighters, and dashboard
actions. Worksheet and datasource filters constrain data. Dashboard and
worksheet controls expose those filters or parameters. Actions connect user
events to filter, highlight, parameter, URL, or navigation behavior.
Filter Objects
The same filter object family is used in worksheets[].filters. Datasource
filters use a narrower subset documented on Datasources.
| Filter kind |
Required Fields |
Optional Fields |
Description |
categorical |
field, kind, one of members or exclude |
context |
Include listed members or exclude one member/null. |
quantitative |
field, kind, at least one of min or max |
context, include_nulls |
Numeric range filter. |
date_range |
field, kind, at least one of min or max |
context, include_nulls |
ISO date range filter. |
relative_date |
field, kind, period, first_period, last_period |
anchor, context, include_future, include_nulls |
Relative date window. |
date_part |
field, kind, date_part, either members or min/max |
context |
Discrete date-part member or range filter. |
top_n |
field, kind, limit, direction, by |
context |
Top or bottom N dimension members by an aggregate. |
condition |
field, kind, by, operator, value |
context |
Aggregate condition filter. |
wildcard |
field, kind, mode, match |
context |
String wildcard filter. |
Shared Filter Fields
| Field |
Type |
Required |
Values |
Description |
field |
string |
Yes |
Field ref |
Field being filtered. |
kind |
string |
Yes |
See filter kinds |
Discriminates the filter shape. |
context |
boolean |
No |
true, false |
Emits a Tableau context filter when supported. |
include_nulls |
boolean |
Quantitative/date filters only |
true, false |
Includes null values in the filter result. |
Categorical Filter
| Field |
Type |
Required |
Values |
Description |
members |
array |
One of members or exclude |
strings, numbers, booleans |
Included member list. |
exclude |
object |
One of members or exclude |
Object with members array |
Member/null exclusion rule. |
{
"field": "[Orders].[Category]",
"kind": "categorical",
"members": ["Furniture", "Technology"],
"context": true
}
{
"field": "[Orders].[Category]",
"kind": "categorical",
"exclude": {
"members": [null]
}
}
Range And Date Filters
| Field |
Type |
Required |
Values |
Description |
min |
number, string date, or boolean range value |
At least one of min/max |
Numeric value for quantitative, ISO date for date_range |
Lower bound. |
max |
number, string date, or boolean range value |
At least one of min/max |
Numeric value for quantitative, ISO date for date_range |
Upper bound. |
[
{
"field": "[Orders].[Sales]",
"kind": "quantitative",
"min": 100,
"max": 500,
"include_nulls": true
},
{
"field": "[Orders].[Order Date]",
"kind": "date_range",
"min": "2026-01-01",
"max": "2026-12-31"
}
]
Relative Date Filter
| Field |
Type |
Required |
Values |
Description |
period |
string |
Yes |
day, week, month, quarter, year |
Date grain. |
first_period |
integer |
Yes |
Any integer |
Window start relative to anchor/current period. |
last_period |
integer |
Yes |
Any integer |
Window end relative to anchor/current period. |
anchor |
string |
No |
ISO date |
Fixed anchor date. When present, include_future must be true. |
include_future |
boolean |
No |
true, false |
Includes future periods. Required as true with anchor. |
{
"field": "[Orders].[Order Date]",
"kind": "relative_date",
"period": "month",
"first_period": -5,
"last_period": 0,
"include_nulls": false
}
Date Part, Top N, Condition, And Wildcard
| Field |
Type |
Required |
Values |
Description |
date_part |
string |
Date-part filters |
month, quarter, year |
Discrete date part. |
limit |
integer |
Top N |
>= 1 |
Number of members. |
direction |
string |
Top N |
top, bottom |
Ranking direction. |
by |
object |
Top N and condition |
Aggregate shelf item |
Aggregate used to rank or compare. |
operator |
string |
Condition |
=, !=, >, >=, <, <= |
Comparison operator. |
value |
number |
Condition |
Any number |
Comparison value. |
mode |
string |
Wildcard |
contains, starts_with, ends_with, exact |
Match behavior. |
match |
string |
Wildcard |
Non-empty string |
Text pattern. |
[
{
"field": "[Orders].[Order Date]",
"kind": "date_part",
"date_part": "month",
"members": [1, 2, 3]
},
{
"field": "[Orders].[Sub-Category]",
"kind": "top_n",
"limit": 10,
"direction": "top",
"by": {
"field": "[Orders].[Sales]",
"aggregation": "sum"
}
},
{
"field": "[Orders].[Category]",
"kind": "wildcard",
"mode": "contains",
"match": "Office"
}
]
Visible Controls
Worksheet cards live on worksheets; dashboard controls live on dashboards. Both
reference existing parameters or filters.
| Surface |
Field |
Values |
Notes |
| Worksheet filter card |
worksheets[].filter_cards[] |
field, optional date_part, mode, title |
Modes: checkdropdown, dropdown, radiolist, slider. |
| Worksheet parameter card |
worksheets[].parameter_cards[] |
parameter, optional mode, title, style |
Modes: compact, slider, type_in. |
| Dashboard filter control |
dashboards[].filter_controls[] |
worksheet, field, display options, optional style |
Defines dashboard-level quick filter zone. |
| Dashboard parameter control |
dashboards[].parameter_controls[] |
parameter, mode/title/show options, optional style |
Defines dashboard-level parameter control zone. |
| Worksheet highlighter |
worksheets[].highlighters[] |
Field refs or aggregate objects |
Adds worksheet highlighter cards. |
{
"worksheets": [
{
"name": "Filtered Sales",
"datasource": "Orders",
"rows": ["[Orders].[Category]"],
"cols": [
{
"field": "[Orders].[Sales]",
"aggregation": "sum"
}
],
"filters": [
{
"field": "[Orders].[Category]",
"kind": "categorical",
"members": ["Furniture", "Technology"]
}
],
"filter_cards": [
{
"field": "[Orders].[Category]",
"mode": "dropdown",
"title": "Choose category"
}
],
"highlighters": ["[Orders].[Segment]"],
"mark": "bar"
}
],
"dashboards": [
{
"name": "Sales Dashboard",
"worksheets": ["Filtered Sales"],
"filter_controls": [
{
"worksheet": "Filtered Sales",
"field": "[Orders].[Category]",
"mode": "checkdropdown",
"values": "relevant",
"show_search": true,
"show_apply": true
}
]
}
]
}
Dashboard Action Object
Top-level actions[] objects attach behavior to dashboard events.
| Field |
Type |
Required |
Values |
Description |
name |
string |
Yes |
Stable action name |
Tableau action name. |
kind |
string |
Yes |
filter, highlight, parameter, url, go_to_sheet |
Action type. |
activation |
string |
No |
hover, select |
User trigger. |
source |
object |
Yes |
Action source object |
Dashboard source, usually with a worksheet. |
target |
object |
Filter/highlight only |
Action target object |
Target dashboard and optional excluded worksheets. |
auto_clear |
boolean |
Filter only |
true, false |
Filter action clearing behavior. |
fields |
array |
Filter only |
Field refs |
Explicit linked fields for filter actions. Required when materialize_target_filters is true. |
materialize_target_filters |
boolean |
Filter only |
true, false |
Emits target worksheet filters for linked fields. |
field_captions |
array |
Highlight only |
Display field captions |
Highlight fields by caption. Mutually exclusive with special_fields. |
special_fields |
string |
Highlight only |
all |
Highlight all fields. Mutually exclusive with field_captions. |
source_field |
object |
Parameter only |
Aggregate shelf item |
Source value used to set a parameter. |
target_parameter |
string |
Parameter only |
Parameter name |
Parameter to update. |
url |
string |
URL only |
http://... or https://... URI |
URL opened by the action. |
target_sheet |
string |
Go-to-sheet only |
Worksheet or dashboard name |
Sheet opened by the action. |
Action Source And Target
| Object |
Field |
Required |
Values |
Description |
source |
dashboard |
Yes |
Dashboard name |
Dashboard where the action originates. |
source |
worksheet |
Required for filter, parameter, URL, and go-to-sheet actions |
Worksheet name |
Source worksheet. |
source |
exclude |
Highlight only |
Worksheet names |
Source worksheets to exclude. |
target |
dashboard |
Yes |
Dashboard name |
Target dashboard. |
target |
exclude |
No |
Worksheet names |
Target worksheets to exclude. |
Action Examples
Filter action:
{
"name": "Filter Detail From Category",
"kind": "filter",
"activation": "select",
"source": {
"dashboard": "Sales Dashboard",
"worksheet": "Sales by Category"
},
"target": {
"dashboard": "Sales Dashboard",
"exclude": ["Sales by Category"]
},
"fields": ["[Orders].[Category]"],
"materialize_target_filters": true,
"auto_clear": true
}
Highlight action:
{
"name": "Highlight Segment",
"kind": "highlight",
"activation": "hover",
"source": {
"dashboard": "Sales Dashboard",
"worksheet": "Sales by Category"
},
"target": {
"dashboard": "Sales Dashboard"
},
"field_captions": ["Segment"]
}
Parameter action:
{
"name": "Set Target From Sales",
"kind": "parameter",
"activation": "select",
"source": {
"dashboard": "Sales Dashboard",
"worksheet": "Sales by Category"
},
"source_field": {
"field": "[Orders].[Sales]",
"aggregation": "sum"
},
"target_parameter": "Sales Target"
}
URL and go-to-sheet actions:
[
{
"name": "Open Sales Details",
"kind": "url",
"source": {
"dashboard": "Sales Dashboard",
"worksheet": "Sales by Category"
},
"url": "https://example.com/sales?segment=consumer"
},
{
"name": "Open Detail Dashboard",
"kind": "go_to_sheet",
"source": {
"dashboard": "Sales Dashboard",
"worksheet": "Sales by Category"
},
"target_sheet": "Detail Dashboard"
}
]