[[controls]]
== Controls Visualization
experimental[]


The Controls visualization enables you to add interactive inputs
to Kibana dashboards.  You can create two types of inputs:
a dropdown menu and a radio slider.

[role="screenshot"]
image::images/controls/controls_in_dashboard.png[]

[[add-input-controls]]
=== Adding Input Controls

To start a *Controls* visualization, open the Visualization application
and click the *+* button. Scroll to the *Others* section and
select *Controls*.

In the visualization builder, choose the type of control to add to
your visualization.

==== Dropdown menu

A dropdown menu allows users to filter content by selecting
one or more options from a list. The dropdown menu is dynamically populated
with the results of a terms aggregation.

[role="screenshot"]
image::images/controls/dropdown_control_editor.png[]

*Control Label*:: The label for the dropdown menu. By default, the
label is the field name.

*Index Pattern*:: The <<index-patterns,index pattern>> that contains
the data set to visualize.

*Field*:: The field used to populate the list of options
and filter on when users interact with the input.
The list of available fields is derived from the specified
index pattern.

*Parent control*:: The control for chaining dropdown menus so that the
selection in the first menu
filters the terms in the second menu. Only available when
creating multiple dropdown menus.

*Multiselect*:: When enabled, the dropdown menu allows users to select multiple options.

*Size*:: The number of options to include in the list.

==== Range slider

A range sliders allow users to filter content within a range of numbers.
The range slider minimum and maximum values are dynamically populated with
the results of a min and max aggregation.

[role="screenshot"]
image::images/controls/range_slider_editor.png[]

*Control Label*:: The label for the range slider. By default, the
label is the field name.

*Index Pattern*:: The <<index-patterns,index pattern>> that contains
the data set to visualize.

*Field*:: The field used to populate the range slider
and filter on when users interact with the input.
The list of available fields is derived from the
specified index pattern.

*Step Size*:: The increment/decrement size of the slider.

*Decimal Places*:: The number of decimal places.

[[global-options]]
=== Global Options

Open the *Options* tab to configure settings that apply to all input
controls in a Controls visualization.

[role="screenshot"]
image::images/controls/controls_options.png[]

*Update Kibana filters on each change*:: When enabled, all input interactions
immediately create filters that cause the dashboard to refresh. When disabled,
Kibana filters are only created
when the user clicks *Apply changes* image:images/apply-changes-button.png[].

*Use time filter*:: When enabled, the aggregations used to generate
the dropdown options list and range minimum and maximum are bound
to <<set-time-filter,Kibana's global time range>>.

*Pin filters to global state*:: When enabled, all filters created by
interacting with the inputs are automatically pinned.
