MultiSelectInput
Multi-select input for choosing multiple values.
Options can be defined in two ways (mutually exclusive): 1. List-based ('options' field): Discrete choices from a static list or query 2. Range-based ('range' field): Continuous/stepped values with start, end, step
Selected values are accessed using these accessors in filters:
- .values - Array of all selected values
- .min - Minimum of selected values
- .max - Maximum of selected values
- .first - First selected value
- .last - Last selected value
Example YAML (list-based): inputs: - name: regions type: multi-select options: ['East', 'West', 'North', 'South'] display: type: dropdown default: values: ['East', 'West']
insights:
- name: sales_by_region
interactions:
- filter: ?{ region IN (${ref(regions).values}) }
Example YAML (range-based): inputs: - name: price_range type: multi-select range: start: 0 end: 1000 step: 50 display: type: range-slider default: start: 100 end: 500
insights:
- name: products_in_range
interactions:
- filter: ?{ price BETWEEN ${ref(price_range).min} AND ${ref(price_range).max} }
Attributes
| Field | Type | Default | Description |
|---|---|---|---|
| path | string | None | A unique path to this object |
| name | string | None | The unique name of the object across the entire project. |
| file_path | string | None | The path to the file that contains the object definition. |
| type | string | multi-select | Input type identifier. |
| label | string | None | Label shown to the user |
| options | Any of: array, string | None | Available options for list-based multi-select. Can be a static list or a query string. Mutually exclusive with 'range'. |
| range | RangeConfig | None | Range configuration for range-based multi-select. Defines start, end, and step values. Mutually exclusive with 'options'. |
| display | MultiSelectDisplay | None | Display configuration including UI component type and default values. If not specified, defaults to dropdown with all options selected. |