Skip to content

TPC-DS Q95 — Web Multi-Warehouse Orders With Returns

TPC-DS benchmark · all TPC-DS queries

Web orders shipped from multiple warehouses that were returned

Representative SQL

Rendered for DataFusion with default parameters.

WITH ws_wh AS (
SELECT
ws1.ws_order_number,
ws1.ws_warehouse_sk AS wh1,
ws2.ws_warehouse_sk AS wh2
FROM web_sales AS ws1, web_sales AS ws2
WHERE
ws1.ws_order_number = ws2.ws_order_number
AND ws1.ws_warehouse_sk <> ws2.ws_warehouse_sk
)
SELECT
COUNT(DISTINCT ws_order_number) AS "order count",
SUM(ws_ext_ship_cost) AS "total shipping cost",
SUM(ws_net_profit) AS "total net profit"
FROM web_sales AS ws1, date_dim, customer_address, web_site
WHERE
d_date BETWEEN '1999-5-01' AND (
CAST('1999-5-01' AS DATE) + INTERVAL '60 DAY'
)
AND ws1.ws_ship_date_sk = d_date_sk
AND ws1.ws_ship_addr_sk = ca_address_sk
AND ca_state = 'TX'
AND ws1.ws_web_site_sk = web_site_sk
AND web_company_name = 'pri'
AND ws1.ws_order_number IN (
SELECT
ws_order_number
FROM ws_wh
)
AND ws1.ws_order_number IN (
SELECT
wr_order_number
FROM web_returns, ws_wh
WHERE
wr_order_number = ws_wh.ws_order_number
)
ORDER BY
COUNT(DISTINCT ws_order_number)
LIMIT 100

Representative DataFrame

Expression family (Polars, PySpark, DataFusion), default parameters.

def impl(ctx: DataFrameContext) -> Any:
return helper(ctx, query_id, *helper_args)

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 TPCDS
bench = TPCDS(scale_factor=1.0) # your scale factor
queries = bench.get_queries(dialect="datafusion") # your platform's dialect; drop dialect= for native SQL
print(queries['95'])

Parameter substitution for this benchmark is seed-driven; pass a seed for a specific stream’s parameters:

print(bench.get_query(95, scale_factor=1.0, seed=42, dialect="datafusion"))

For the DataFrame form:

from benchbox.core.query_catalog import get_dataframe_render
print(get_dataframe_render('tpcds', '95', family="expression").source) # or family="pandas"

Source

Query text: _sources/tpc-ds/query_templates/query95.tpl