Выручка и выручка после расходов по каналам за 12 месяцев
SQL, по которому посчитано
WITH channel_sales AS (SELECT channel, sum(revenue) AS revenue, sum(returned_revenue) AS returned_revenue, sum(commission) AS commission, sum(logistics) AS logistics, sum(units) AS units, sum(returned_units) AS returned_units FROM sales WHERE date > (SELECT max(date) FROM sales) - INTERVAL 12 MONTH GROUP BY channel), calc AS (SELECT channel, revenue, revenue - returned_revenue - commission - logistics AS net_revenue, units, returned_units FROM channel_sales) SELECT channel, round(revenue, 0) AS revenue, round(net_revenue, 0) AS net_revenue, units, round(returned_units * 1.0 / nullif(units, 0), 3) AS return_share, round(net_revenue / nullif(units, 0), 0) AS net_revenue_per_unit, round(revenue / sum(revenue) OVER (), 3) AS revenue_share FROM calc ORDER BY revenue DESC