blob: d754a4f436ea9fff957fdbe9c15445df838a103c [file] [log] [blame]
WITH yearly_sales AS (
SELECT
l.location_id,
l.city,
l.state,
YEAR(f.order_date) AS sales_year,
SUM(f.sales_amount) AS total_sales_year
FROM fact_sales f
JOIN dim_locations l
ON f.location_id = l.location_id
GROUP BY
l.location_id,
l.city,
l.state,
YEAR(f.order_date)
)
SELECT
city,
state,
SUM(CASE WHEN sales_year = 2023 THEN total_sales_year ELSE 0 END) AS sales_2023,
SUM(CASE WHEN sales_year = 2024 THEN total_sales_year ELSE 0 END) AS sales_2024,
(SUM(CASE WHEN sales_year = 2024 THEN total_sales_year ELSE 0 END)
- SUM(CASE WHEN sales_year = 2023 THEN total_sales_year ELSE 0 END)) AS yoy_diff
FROM yearly_sales
GROUP BY
city,
state
ORDER BY
city,
state;