Consultas Biquery
CASO (TAREA: Usando tabla sales de liquor_sales)
Una empresa de licores desea lanzar una campaña de marketing dirigida a aumentar las ventas en el próximo año. Para ello, necesita comprender mejor sus datos históricos y tomar decisiones informadas. El equipo de marketing ha planteado las siguientes preguntas:
1. Tendencia mensual: ¿Cuál ha sido la tendencia de ventas mes a mes durante el último año registrado? Se espera un resumen mensual.
SELECT
Extract(month from date) as Mes,
round(Sum(sale_dollars),2) as Ventas_Mes
From `bigquery-public-data.iowa_liquor_sales.sales`
Where
Extract(YEAR from date) = (select max(extract(year from date))
fecha FROM `bigquery-public-data.iowa_liquor_sales.sales` limit 1)
Group by mes
Order by mes asc;
2. Tiendas destacadas: Identifica las tres tiendas con las mayores ventas en el último año. Además, para estas tiendas, proporciona el producto más vendido (en términos de cantidad de botellas) y su categoría de volumen (Bajo, Medio, Alto según las reglas dadas anteriormente).
Select
store_name,
sum(sale_dollars) as total,
extract(year from current_date) as fecha,
item_description,
volume_sold_liters,
CASE
WHEN volume_sold_liters<10 THEN “Bajo”
WHEN volume_sold_liters between 10 and 100 THEN “Medio”
ELSE “Alto”
END as categoria_volumen
FROM `bigquery-public-data.iowa_liquor_sales.sales`
where extract(year from current_date) = (select max(extract(year from date)) fecha FROM `bigquery-public-data.iowa_liquor_sales.sales` limit 1)
group by store_name,item_description,volume_sold_liters
order by total desc
LIMIT 3;
3. Productos populares: Encuentra los cinco productos más vendidos en términos monetarios en el último año y muestra su descripción con la primera letra de cada palabra en mayúscula.
select
INITCAP(item_description) as item_description,
round(sum(sale_dollars),2) as venta
FROM `bigquery-public-data.iowa_liquor_sales.sales`
where extract(year from current_date) = (select max(extract(year from date))
fecha FROM `bigquery-public-data.iowa_liquor_sales.sales` limit 1)
group by item_description
order by venta desc
LIMIT 5;
4. Análisis de categorías de licor: Basándose en el precio promedio por litro de cada producto, categorízalos como “Económico” si el precio es menor a 100 por litro, “Premium” si es mayor o igual a 100 por litro. Proporciona un resumen de cuántos productos hay en cada categoría y cuál es el producto más caro de la categoría “Premium”
select
row_number() OVER (ORDER BY state_bottle_cost desc) AS rango,
if (state_bottle_cost <= 99,’Economico’,’Premium’) as categoria,
state_bottle_cost as total,
count(category_name),
category_name,
item_description
FROM `bigquery-public-data.iowa_liquor_sales.sales`
group by category_name,categoria,item_description,total
order by total desc
LIMIT 200;