22
33-- NB: Subquerys
44-- start query 1 in stream 0 using template query49.tpl and seed 1819994127
5+
6+ $todecimal = ($x) - > {
7+ return cast(cast($x as string?) as decimal (15 ,4 ))
8+ };
9+
510$non_unique = (select channel, item, return_ratio, return_rank, currency_rank from
611 (select
712 ' web' as channel
@@ -18,12 +23,12 @@ $non_unique = (select channel, item, return_ratio, return_rank, currency_rank f
1823 ,rank() over (order by currency_ratio) as currency_rank
1924 from
2025 ( select ws .ws_item_sk as item
21- ,(cast( sum (coalesce(wr .wr_return_quantity , 0 )) as float )/
22- cast( sum (coalesce(ws .ws_quantity , 0 )) as float )) as return_ratio
23- ,(cast( sum (coalesce(wr .wr_return_amt , 0 )) as float )/
24- cast( sum (coalesce(ws .ws_net_paid , 0 )) as float )) as currency_ratio
26+ ,(sum (coalesce($todecimal( wr .wr_return_quantity ),cast( 0 as decimal ( 15 , 4 ))) )/
27+ sum (coalesce($todecimal( ws .ws_quantity ),cast( 0 as decimal ( 15 , 4 ))) )) as return_ratio
28+ ,(sum (coalesce($todecimal( wr .wr_return_amt ),cast( 0 as decimal ( 15 , 4 ))) )/
29+ sum (coalesce($todecimal( ws .ws_net_paid ),cast( 0 as decimal ( 15 , 4 ))) )) as currency_ratio
2530 from
26- {{web_sales}} ws
31+ {{web_sales}} ws
2732 left join {{web_returns}} wr
2833 on (ws .ws_order_number = wr .wr_order_number and
2934 ws .ws_item_sk = wr .wr_item_sk )
@@ -62,12 +67,12 @@ $non_unique = (select channel, item, return_ratio, return_rank, currency_rank f
6267 from
6368 ( select
6469 cs .cs_item_sk as item
65- ,(cast( sum (coalesce(cr .cr_return_quantity , 0 )) as float )/
66- cast( sum (coalesce(cs .cs_quantity , 0 )) as float )) as return_ratio
67- ,(cast( sum (coalesce(cr .cr_return_amount , 0 )) as float )/
68- cast( sum (coalesce(cs .cs_net_paid , 0 )) as float )) as currency_ratio
70+ ,(sum (coalesce($todecimal( cr .cr_return_quantity ),cast( 0 as decimal ( 15 , 4 ))) )/
71+ sum (coalesce($todecimal( cs .cs_quantity ),cast( 0 as decimal ( 15 , 4 ))) )) as return_ratio
72+ ,(sum (coalesce($todecimal( cr .cr_return_amount ),cast( 0 as decimal ( 15 , 4 ))) )/
73+ sum (coalesce($todecimal( cs .cs_net_paid ),cast( 0 as decimal ( 15 , 4 ))) )) as currency_ratio
6974 from
70- {{catalog_sales}} cs
75+ {{catalog_sales}} cs
7176 left outer join {{catalog_returns}} cr
7277 on (cs .cs_order_number = cr .cr_order_number and
7378 cs .cs_item_sk = cr .cr_item_sk )
@@ -105,10 +110,12 @@ $non_unique = (select channel, item, return_ratio, return_rank, currency_rank f
105110 ,rank() over (order by currency_ratio) as currency_rank
106111 from
107112 ( select sts .ss_item_sk as item
108- ,(cast(sum (coalesce(sr .sr_return_quantity ,0 )) as float)/ cast(sum (coalesce(sts .ss_quantity ,0 )) as float )) as return_ratio
109- ,(cast(sum (coalesce(sr .sr_return_amt ,0 )) as float)/ cast(sum (coalesce(sts .ss_net_paid ,0 )) as float)) as currency_ratio
113+ ,(sum (coalesce($todecimal(sr .sr_return_quantity ),cast(0 as decimal (15 ,4 ))))/
114+ sum (coalesce($todecimal(sts .ss_quantity ),cast(0 as decimal (15 ,4 ))))) as return_ratio
115+ ,(sum (coalesce($todecimal(sr .sr_return_amt ),cast(0 as decimal (15 ,4 ))))/
116+ sum (coalesce($todecimal(sts .ss_net_paid ),cast(0 as decimal (15 ,4 ))))) as currency_ratio
110117 from
111- {{store_sales}} sts
118+ {{store_sales}} sts
112119 left outer join {{store_returns}} sr
113120 on (sts .ss_ticket_number = sr .sr_ticket_number and sts .ss_item_sk = sr .sr_item_sk )
114121 cross join {{date_dim}} as date_dim
0 commit comments