dactopus-ossie-clickhouse: how a question becomes SQL

An AI agent asks for metrics and dimensions by name; dactopus-ossie-clickhouse answers with one ClickHouse query, or explains why it will not. Select a box, or follow one question from the agent to its answer.

overview

The SQL it writes for the question

SELECT
  dateTrunc('MONTH', purchases.purchase_date) AS purchase_month,
  sessions.source || ' / ' || sessions.medium AS source_medium,
  purchases.currency AS currency,
  SUM(purchases.revenue) AS revenue,
  COUNT(purchases.purchase_key) AS purchases
FROM purchases AS purchases
LEFT JOIN sessions AS sessions
  ON purchases.session_key = sessions.session_key
WHERE
  sessions.country = 'United States'
GROUP BY
  dateTrunc('MONTH', purchases.purchase_date),
  sessions.source || ' / ' || sessions.medium,
  purchases.currency
ORDER BY
  revenue DESC,
  purchase_month ASC,
  source_medium ASC,
  currency ASC
SETTINGS join_use_nulls = 1, aggregate_functions_null_for_empty = 1