malloy-analysis-report
Creating Reports
An ad-hoc report is a .malloynb notebook that combines markdown narrative with live Malloy query cells. There is no dedicated report tool: you author the notebook directly. Load skill:malloy-notebooks for the full .malloynb cell format and authoring rules; this skill covers when to build one and how to design good report content (cells, chart annotations, narrative structure).
Tool names are written bare here -
get_context,execute_query,search_malloy_docs. The exact prefixed name depends on the host surface; match each against the tools you actually have.
Before building a report
- Run each query first via
execute_queryto verify it works and returns expected results. - Explain the results to the user as you go: walk through the analysis step by step.
- Then assemble the notebook once the analysis is validated.
Do NOT build the notebook in the same turn as execute_query. Explain first, then build.
Filters are inherited from the model, don't declare them in the report
Reports do not (and cannot) define their own filters. If the source has #(filter) annotations, Publisher renders the filter widgets, parses caller parameters, and injects where: clauses server-side automatically: the report inherits and displays those filters with no extra work. If the analysis needs a knob the source doesn't expose, the right move is to add a #(filter) to the source itself (see your modeling workflow's parameterizable-filter guidance for #(filter)), not to wedge a filter widget into the report. For curated notebooks with their own per-notebook filter UI on top of the model, see skill:malloy-notebooks instead.