Skip to content

Commit cdc9454

Browse files
authored
Merge 66e3c82 into 4549fb4
2 parents 4549fb4 + 66e3c82 commit cdc9454

File tree

1 file changed

+20
-13
lines changed
  • ydb/library/benchmarks/queries/tpcds/yql

1 file changed

+20
-13
lines changed

ydb/library/benchmarks/queries/tpcds/yql/q49.sql

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
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

Comments
 (0)