Выручка по каналам по месяцам, рубли
SQL, по которому посчитано
WITH monthly AS (
SELECT
date_trunc('month', date) AS month_date,
channel,
sum(revenue - returned_revenue) AS revenue_net
FROM sales
WHERE date >= (
SELECT date_trunc('month', max(date)) - INTERVAL '11 months'
FROM sales
)
GROUP BY 1, 2
)
SELECT
month_date,
round(sum(CASE WHEN channel = 'Сайт' THEN revenue_net ELSE 0 END), 2) AS revenue_site,
round(sum(CASE WHEN channel = 'Wildberries' THEN revenue_net ELSE 0 END), 2) AS revenue_wb,
round(sum(CASE WHEN channel = 'Ozon' THEN revenue_net ELSE 0 END), 2) AS revenue_ozon,
round(sum(CASE WHEN channel = 'Яндекс Маркет' THEN revenue_net ELSE 0 END), 2) AS revenue_ym
FROM monthly
GROUP BY month_date
ORDER BY month_date