Skip to content

Instantly share code, notes, and snippets.

@toddlipcon
Created January 30, 2019 23:02
Show Gist options
  • Save toddlipcon/5f2d1540ccb0fe50404a4e188aaea26d to your computer and use it in GitHub Desktop.
Save toddlipcon/5f2d1540ccb0fe50404a4e188aaea26d to your computer and use it in GitHub Desktop.
with rw_date as (
select * from date_dim where
d_date in (select d_date
from date_dim
where d_week_seq in
(select d_week_seq
from date_dim
where d_date in ('2000-01-24','2000-10-20','2000-11-05'))))
, sr_items as
(select i_item_id item_id,
sum(sr_return_quantity) sr_item_qty
from store_returns,
item,
rw_date
where sr_item_sk = i_item_sk
and sr_returned_date_sk = d_date_sk
group by i_item_id),
cr_items as
(select i_item_id item_id,
sum(cr_return_quantity) cr_item_qty
from catalog_returns,
item,
rw_date
where cr_item_sk = i_item_sk
and cr_returned_date_sk = d_date_sk
group by i_item_id),
wr_items as
(select i_item_id item_id,
sum(wr_return_quantity) wr_item_qty
from web_returns,
item,
rw_date
where wr_item_sk = i_item_sk
and wr_returned_date_sk = d_date_sk
group by i_item_id)
select sr_items.item_id
,sr_item_qty
,sr_item_qty/(sr_item_qty+cr_item_qty+wr_item_qty)/3.0 * 100 sr_dev
,cr_item_qty
,cr_item_qty/(sr_item_qty+cr_item_qty+wr_item_qty)/3.0 * 100 cr_dev
,wr_item_qty
,wr_item_qty/(sr_item_qty+cr_item_qty+wr_item_qty)/3.0 * 100 wr_dev
,(sr_item_qty+cr_item_qty+wr_item_qty)/3.0 average
from sr_items
,cr_items
,wr_items
where sr_items.item_id=cr_items.item_id
and sr_items.item_id=wr_items.item_id
order by sr_items.item_id
,sr_item_qty
limit 100;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment