Skip to content

TPC-DS Q73 — Store Sales Household Vehicle

TPC-DS benchmark · all TPC-DS queries

Reports customer household purchases by vehicle count

Representative SQL

Rendered for DataFusion with default parameters.

SELECT
c_last_name,
c_first_name,
c_salutation,
c_preferred_cust_flag,
ss_ticket_number,
cnt
FROM (
SELECT
ss_ticket_number,
ss_customer_sk,
COUNT(*) AS cnt
FROM store_sales, date_dim, store, household_demographics
WHERE
store_sales.ss_sold_date_sk = date_dim.d_date_sk
AND store_sales.ss_store_sk = store.s_store_sk
AND store_sales.ss_hdemo_sk = household_demographics.hd_demo_sk
AND date_dim.d_dom BETWEEN 1 AND 2
AND (
household_demographics.hd_buy_potential = '>10000'
OR household_demographics.hd_buy_potential = 'Unknown'
)
AND household_demographics.hd_vehicle_count > 0
AND CASE
WHEN household_demographics.hd_vehicle_count > 0
THEN household_demographics.hd_dep_count / household_demographics.hd_vehicle_count
ELSE NULL
END > 1
AND date_dim.d_year IN (1998, 1998 + 1, 1998 + 2)
AND store.s_county IN (
'Williamson County',
'Williamson County',
'Williamson County',
'Williamson County'
)
GROUP BY
ss_ticket_number,
ss_customer_sk
) AS dj, customer
WHERE
ss_customer_sk = c_customer_sk AND cnt BETWEEN 1 AND 5
ORDER BY
cnt DESC,
c_last_name ASC

Representative DataFrame

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

def impl(ctx: DataFrameContext) -> Any:
return engine(ctx, spec)

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['73'])

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

print(bench.get_query(73, 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', '73', family="expression").source) # or family="pandas"

Source

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