Compose multiple panels into a canvas layout for visualization
Table-in, table-out — composes downstream of SELECTs.
THEN RENDER_CANVASTHEN RENDER_CANVAS('{{ layout_type }}')THEN RENDER_CANVAS('{{ layout_type }}', {{ dim1 }})THEN RENDER_CANVAS('{{ layout_type }}', {{ dim1 }}, {{ dim2 }})| name | type | description |
|---|---|---|
| layout_type(optional) | VARCHAR | — |
| dim1(optional) | INTEGER | — |
| dim2(optional) | INTEGER | — |
| _table | TABLE | — |
Wraps panel rows into a canvas layout payload
SELECT
'Notes' AS name,
'Project kickoff' AS content,
1 AS col,
1 AS ROW THEN RENDER_CANVAS ('grid', 1, 1) THEN PYTHON (
'result = pd.DataFrame({"ok":[df.iloc[0]["format"] == "canvas" and df.iloc[0]["canvas"]["layout"]["type"] == "grid"]})'
)Apply theme styling to a chart specification
Analyze query results with LLM based on a prompt
Remove duplicate rows
Add LLM-computed columns to query results
Filter query results using LLM-based semantic matching
Group by column and aggregate another
Compose multiple panels into a canvas layout for visualization
Table-in, table-out — composes downstream of SELECTs.
THEN RENDER_CANVASTHEN RENDER_CANVAS('{{ layout_type }}')THEN RENDER_CANVAS('{{ layout_type }}', {{ dim1 }})THEN RENDER_CANVAS('{{ layout_type }}', {{ dim1 }}, {{ dim2 }})| name | type | description |
|---|---|---|
| layout_type(optional) | VARCHAR | — |
| dim1(optional) | INTEGER | — |
| dim2(optional) | INTEGER | — |
| _table | TABLE | — |
Wraps panel rows into a canvas layout payload
SELECT
'Notes' AS name,
'Project kickoff' AS content,
1 AS col,
1 AS ROW THEN RENDER_CANVAS ('grid', 1, 1) THEN PYTHON (
'result = pd.DataFrame({"ok":[df.iloc[0]["format"] == "canvas" and df.iloc[0]["canvas"]["layout"]["type"] == "grid"]})'
)Apply theme styling to a chart specification
Analyze query results with LLM based on a prompt
Remove duplicate rows
Add LLM-computed columns to query results
Filter query results using LLM-based semantic matching
Group by column and aggregate another