Inputs & parameters
Input blocks make dashboards interactive. They write values that other tiles read — through SQL parameters or trigger relationships.
The input store
An input_select or input_range block writes its value to the dashboard input store under its input_id:
{ "type": "input_select", "config": { "input_id": "region", "options": [ ... ] } }After a user picks a value, region holds it in the store.
SQL parameters
An Athena tile binds store values into its SQL with query.params, mapping a SQL token to an input key:
"query": {
"sql": "SELECT * FROM sales WHERE region = :region",
"params": { "region": "region" }
}StrataBI substitutes :region with the current value of the region input before the query runs. The substitution is value-quoted, so strings, numbers, booleans, and lists are all handled.
Driving dependent tiles
For a tile to re-run when an input changes, list the input tile in triggered_by and set load.mode to input:
{
"id": "sales",
"triggered_by": ["region_input"],
"load": { "mode": "input" },
"exec": { "type": "athena", "database": "analytics" },
"query": { "sql": "SELECT ... WHERE region = :region", "params": { "region": "region" } },
"block": { "type": "table", "config": {} }
}Source values
Anywhere the schema allows a value, you can defer it to the runtime with a source reference:
{ "options": { "?source": "region_options" } }StrataBI resolves region_options from the source registry, loads the payload from S3, parses it for the expected type (json, dropdown options, markdown, sql, a Plotly figure, …), and substitutes it before the tile runs.
query.sql are resolved before execution. If you pass a ?source SQL value, StrataBI resolves it first, then applies params.
Shaleio