Skip to content

TPC-DS-OBT Q40

TPC-DS-OBT benchmark · all TPC-DS-OBT queries

Representative SQL

Rendered for DataFusion with default parameters.

SELECT
warehouse_w_state,
item_i_item_id,
SUM(
CASE
WHEN (
CAST(sold_date_d_date AS DATE) < CAST('1998-01-01' AS DATE)
)
THEN sales_price - COALESCE(refunded_cash, 0)
ELSE 0
END
) AS sales_before,
SUM(
CASE
WHEN (
CAST(sold_date_d_date AS DATE) >= CAST('1998-01-01' AS DATE)
)
THEN sales_price - COALESCE(refunded_cash, 0)
ELSE 0
END
) AS sales_after
FROM tpcds_sales_returns_obt AS obt
WHERE
(
(
item_i_current_price BETWEEN 0.99 AND 1.49
AND item_i_item_sk = item_sk
AND warehouse_sk = warehouse_w_warehouse_sk
AND sold_date_sk = sold_date_d_date_sk
AND sold_date_d_date BETWEEN (
CAST('1998-01-01' AS DATE) - INTERVAL '30 DAY'
) AND (
CAST('1998-01-01' AS DATE) + INTERVAL '30 DAY'
)
)
AND (
sale_id = sale_id AND item_sk = item_sk
)
)
AND channel = 'catalog'
GROUP BY
warehouse_w_state,
item_i_item_id
ORDER BY
warehouse_w_state,
item_i_item_id
LIMIT 100

Representative DataFrame

No DataFrame implementation is registered for this query.

Get the exact query for your run

The blocks above are representative. To get the precise statement a specific platform runs at a specific scale, substitute your own values:

from benchbox import TPCDSOBT
bench = TPCDSOBT(scale_factor=1.0) # your scale factor
queries = bench.get_queries(dialect="datafusion") # your platform's dialect; drop dialect= for native SQL
print(queries['40'])

Source

Query text: benchbox/core/tpcds_obt/queries.py