TPC-DS-OBT Q75
TPC-DS-OBT benchmark · all TPC-DS-OBT queries
Representative SQL
Rendered for DataFusion with default parameters.
WITH all_sales AS ( SELECT sold_date_d_year AS d_year, item_i_brand_id AS i_brand_id, item_i_class_id AS i_class_id, item_i_category_id AS i_category_id, item_i_manufact_id AS i_manufact_id, SUM(sales_cnt) AS sales_cnt, SUM(sales_amt) AS sales_amt FROM ( SELECT obt.sold_date_d_year, obt.item_i_brand_id, obt.item_i_class_id, obt.item_i_category_id, obt.item_i_manufact_id, obt.quantity - COALESCE(obt.return_quantity, 0) AS sales_cnt, obt.ext_sales_price - COALESCE(obt.return_amount, 0.0) AS sales_amt FROM tpcds_sales_returns_obt AS obt WHERE ( ( ( obt.item_i_category = '0' AND obt.item_i_item_sk = obt.item_sk ) AND obt.sold_date_d_date_sk = obt.sold_date_sk ) AND ( obt.sale_id = obt.sale_id AND obt.item_sk = obt.item_sk ) ) AND channel = 'catalog' UNION SELECT obt.sold_date_d_year, obt.item_i_brand_id, obt.item_i_class_id, obt.item_i_category_id, obt.item_i_manufact_id, obt.quantity - COALESCE(obt.return_quantity, 0) AS sales_cnt, obt.ext_sales_price - COALESCE(obt.return_amount, 0.0) AS sales_amt FROM tpcds_sales_returns_obt AS obt WHERE ( ( ( obt.item_i_category = '0' AND obt.item_i_item_sk = obt.item_sk ) AND obt.sold_date_d_date_sk = obt.sold_date_sk ) AND ( obt.sale_id = obt.sale_id AND obt.item_sk = obt.item_sk ) ) AND channel = 'store' UNION SELECT obt.sold_date_d_year, obt.item_i_brand_id, obt.item_i_class_id, obt.item_i_category_id, obt.item_i_manufact_id, obt.quantity - COALESCE(obt.return_quantity, 0) AS sales_cnt, obt.ext_sales_price - COALESCE(obt.return_amount, 0.0) AS sales_amt FROM tpcds_sales_returns_obt AS obt WHERE ( ( ( obt.item_i_category = '0' AND obt.item_i_item_sk = obt.item_sk ) AND obt.sold_date_d_date_sk = obt.sold_date_sk ) AND ( obt.sale_id = obt.sale_id AND obt.item_sk = obt.item_sk ) ) AND channel = 'web' ) AS sales_detail GROUP BY d_year, i_brand_id, i_class_id, i_category_id, i_manufact_id)SELECT prev_yr.d_year AS prev_year, curr_yr.d_year AS year, curr_yr.i_brand_id, curr_yr.i_class_id, curr_yr.i_category_id, curr_yr.i_manufact_id, prev_yr.sales_cnt AS prev_yr_cnt, curr_yr.sales_cnt AS curr_yr_cnt, curr_yr.sales_cnt - prev_yr.sales_cnt AS sales_cnt_diff, curr_yr.sales_amt - prev_yr.sales_amt AS sales_amt_diffFROM all_sales AS curr_yr, all_sales AS prev_yrWHERE curr_yr.i_brand_id = prev_yr.i_brand_id AND curr_yr.i_class_id = prev_yr.i_class_id AND curr_yr.i_category_id = prev_yr.i_category_id AND curr_yr.i_manufact_id = prev_yr.i_manufact_id AND curr_yr.d_year = 1999 AND prev_yr.d_year = 1999 - 1 AND CAST(curr_yr.sales_cnt AS DECIMAL(17, 2)) / CAST(prev_yr.sales_cnt AS DECIMAL(17, 2)) < 0.9ORDER BY sales_cnt_diff, sales_amt_diffLIMIT 100Representative 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 factorqueries = bench.get_queries(dialect="datafusion") # your platform's dialect; drop dialect= for native SQLprint(queries['75'])Source
Query text: benchbox/core/tpcds_obt/queries.py