Consultas Biquery

Diego_29 CR
2 min readFeb 25, 2024

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;

--

--