From c22de927c5eb5ade4b3644036811ea00e4b55a7c Mon Sep 17 00:00:00 2001 From: "EUROPE\\josmed" Date: Fri, 10 Nov 2023 05:01:39 -0800 Subject: [PATCH] Adds TPCDS scripts for Fabric --- .../build/fabric/1_create_call_center.sql | 34 ++ .../build/fabric/1_create_catalog_page.sql | 12 + .../build/fabric/1_create_catalog_returns.sql | 30 ++ .../build/fabric/1_create_catalog_sales.sql | 37 ++ .../tpcds/build/fabric/1_create_customer.sql | 21 + .../fabric/1_create_customer_address.sql | 16 + .../fabric/1_create_customer_demographics.sql | 12 + .../tpcds/build/fabric/1_create_date_dim.sql | 31 ++ .../1_create_household_demographics.sql | 8 + .../build/fabric/1_create_income_band.sql | 6 + .../tpcds/build/fabric/1_create_inventory.sql | 7 + .../tpcds/build/fabric/1_create_item.sql | 25 + .../tpcds/build/fabric/1_create_promotion.sql | 22 + .../tpcds/build/fabric/1_create_reason.sql | 6 + .../tpcds/build/fabric/1_create_ship_mode.sql | 9 + .../tpcds/build/fabric/1_create_store.sql | 32 ++ .../build/fabric/1_create_store_returns.sql | 23 + .../build/fabric/1_create_store_sales.sql | 26 ++ .../tpcds/build/fabric/1_create_time_dim.sql | 13 + .../tpcds/build/fabric/1_create_warehouse.sql | 17 + .../tpcds/build/fabric/1_create_web_page.sql | 17 + .../build/fabric/1_create_web_returns.sql | 27 ++ .../tpcds/build/fabric/1_create_web_sales.sql | 37 ++ .../tpcds/build/fabric/1_create_web_site.sql | 29 ++ .../tpcds/build/fabric/2_load_call_center.sql | 8 + .../build/fabric/2_load_catalog_page.sql | 8 + .../build/fabric/2_load_catalog_returns.sql | 8 + .../build/fabric/2_load_catalog_sales.sql | 8 + .../tpcds/build/fabric/2_load_customer.sql | 8 + .../build/fabric/2_load_customer_address.sql | 8 + .../fabric/2_load_customer_demographics.sql | 8 + .../tpcds/build/fabric/2_load_date_dim.sql | 8 + .../fabric/2_load_household_demographics.sql | 8 + .../tpcds/build/fabric/2_load_income_band.sql | 8 + .../tpcds/build/fabric/2_load_inventory.sql | 8 + .../tpcds/build/fabric/2_load_item.sql | 8 + .../tpcds/build/fabric/2_load_promotion.sql | 8 + .../tpcds/build/fabric/2_load_reason.sql | 8 + .../tpcds/build/fabric/2_load_ship_mode.sql | 8 + .../tpcds/build/fabric/2_load_store.sql | 8 + .../build/fabric/2_load_store_returns.sql | 8 + .../tpcds/build/fabric/2_load_store_sales.sql | 8 + .../tpcds/build/fabric/2_load_time_dim.sql | 8 + .../tpcds/build/fabric/2_load_warehouse.sql | 8 + .../tpcds/build/fabric/2_load_web_page.sql | 8 + .../tpcds/build/fabric/2_load_web_returns.sql | 8 + .../tpcds/build/fabric/2_load_web_sales.sql | 8 + .../tpcds/build/fabric/2_load_web_site.sql | 8 + .../tpcds/data_maintenance/fabric/DF_CS.sql | 11 + .../tpcds/data_maintenance/fabric/DF_I.sql | 8 + .../tpcds/data_maintenance/fabric/DF_SS.sql | 11 + .../tpcds/data_maintenance/fabric/DF_WS.sql | 11 + .../tpcds/data_maintenance/fabric/LF_CR.sql | 50 ++ .../tpcds/data_maintenance/fabric/LF_CS.sql | 58 +++ .../tpcds/data_maintenance/fabric/LF_I.sql | 15 + .../tpcds/data_maintenance/fabric/LF_SR.sql | 40 ++ .../tpcds/data_maintenance/fabric/LF_SS.sql | 43 ++ .../tpcds/data_maintenance/fabric/LF_WR.sql | 41 ++ .../tpcds/data_maintenance/fabric/LF_WS.sql | 55 +++ .../fabric/DF_CR_1.sql | 7 + .../fabric/DF_CR_2.sql | 7 + .../fabric/DF_CR_3.sql | 7 + .../fabric/DF_CR_delete.sql | 2 + .../fabric/DF_CS_1.sql | 21 + .../fabric/DF_CS_2.sql | 21 + .../fabric/DF_CS_3.sql | 21 + .../fabric/DF_CS_delete.sql | 2 + .../fabric/DF_I_1.sql | 21 + .../fabric/DF_I_2.sql | 21 + .../fabric/DF_I_3.sql | 21 + .../fabric/DF_I_delete.sql | 2 + .../fabric/DF_SR_1.sql | 15 + .../fabric/DF_SR_2.sql | 15 + .../fabric/DF_SR_3.sql | 15 + .../fabric/DF_SR_delete.sql | 2 + .../fabric/DF_SS_1.sql | 21 + .../fabric/DF_SS_2.sql | 21 + .../fabric/DF_SS_3.sql | 21 + .../fabric/DF_SS_delete.sql | 2 + .../fabric/DF_WR_1.sql | 15 + .../fabric/DF_WR_2.sql | 15 + .../fabric/DF_WR_3.sql | 15 + .../fabric/DF_WR_delete.sql | 2 + .../fabric/DF_WS_1.sql | 21 + .../fabric/DF_WS_2.sql | 21 + .../fabric/DF_WS_3.sql | 21 + .../fabric/DF_WS_delete.sql | 2 + .../fabric/LF_CR_1.sql | 2 + .../fabric/LF_CR_2.sql | 77 ++++ .../fabric/LF_CR_3.sql | 4 + .../fabric/LF_CR_insert.sql | 32 ++ .../fabric/LF_CS_1.sql | 2 + .../fabric/LF_CS_2.sql | 90 ++++ .../fabric/LF_CS_3.sql | 4 + .../fabric/LF_CS_insert.sql | 39 ++ .../fabric/LF_I_1.sql | 2 + .../fabric/LF_I_2.sql | 22 + .../fabric/LF_I_3.sql | 4 + .../fabric/LF_I_insert.sql | 9 + .../fabric/LF_SR_1.sql | 2 + .../fabric/LF_SR_2.sql | 42 ++ .../fabric/LF_SR_3.sql | 4 + .../fabric/LF_SR_insert.sql | 25 + .../fabric/LF_SS_1.sql | 2 + .../fabric/LF_SS_2.sql | 39 ++ .../fabric/LF_SS_3.sql | 4 + .../fabric/LF_SS_insert.sql | 28 ++ .../fabric/LF_WR_1.sql | 2 + .../fabric/LF_WR_2.sql | 39 ++ .../fabric/LF_WR_3.sql | 4 + .../fabric/LF_WR_insert.sql | 30 ++ .../fabric/LF_WS_1.sql | 2 + .../fabric/LF_WS_2.sql | 51 +++ .../fabric/LF_WS_3.sql | 4 + .../fabric/LF_WS_insert.sql | 39 ++ .../scripts/tpcds/init/fabric/init.sql | 47 ++ .../fabric/ddl-external-tables-refresh.sql | 261 +++++++++++ .../tpcds/single_user/fabric/query1.sql | 24 + .../tpcds/single_user/fabric/query10.sql | 71 +++ .../tpcds/single_user/fabric/query11.sql | 81 ++++ .../tpcds/single_user/fabric/query12.sql | 25 + .../tpcds/single_user/fabric/query13.sql | 59 +++ .../tpcds/single_user/fabric/query14.sql | 150 ++++++ .../tpcds/single_user/fabric/query15.sql | 28 ++ .../tpcds/single_user/fabric/query16.sql | 31 ++ .../tpcds/single_user/fabric/query17.sql | 42 ++ .../tpcds/single_user/fabric/query18.sql | 42 ++ .../tpcds/single_user/fabric/query19.sql | 29 ++ .../tpcds/single_user/fabric/query2.sql | 100 ++++ .../tpcds/single_user/fabric/query20.sql | 25 + .../tpcds/single_user/fabric/query21.sql | 41 ++ .../tpcds/single_user/fabric/query22.sql | 22 + .../tpcds/single_user/fabric/query23.sql | 74 +++ .../tpcds/single_user/fabric/query24.sql | 54 +++ .../tpcds/single_user/fabric/query25.sql | 39 ++ .../tpcds/single_user/fabric/query26.sql | 24 + .../tpcds/single_user/fabric/query27.sql | 24 + .../tpcds/single_user/fabric/query28.sql | 73 +++ .../tpcds/single_user/fabric/query29.sql | 38 ++ .../tpcds/single_user/fabric/query3.sql | 17 + .../tpcds/single_user/fabric/query30.sql | 50 ++ .../tpcds/single_user/fabric/query31.sql | 72 +++ .../tpcds/single_user/fabric/query32.sql | 16 + .../tpcds/single_user/fabric/query33.sql | 74 +++ .../tpcds/single_user/fabric/query34.sql | 54 +++ .../tpcds/single_user/fabric/query35.sql | 64 +++ .../tpcds/single_user/fabric/query36.sql | 35 ++ .../tpcds/single_user/fabric/query37.sql | 19 + .../tpcds/single_user/fabric/query38.sql | 32 ++ .../tpcds/single_user/fabric/query39.sql | 62 +++ .../tpcds/single_user/fabric/query4.sql | 143 ++++++ .../tpcds/single_user/fabric/query40.sql | 36 ++ .../tpcds/single_user/fabric/query41.sql | 138 ++++++ .../tpcds/single_user/fabric/query42.sql | 19 + .../tpcds/single_user/fabric/query43.sql | 62 +++ .../tpcds/single_user/fabric/query44.sql | 57 +++ .../tpcds/single_user/fabric/query45.sql | 36 ++ .../tpcds/single_user/fabric/query46.sql | 50 ++ .../tpcds/single_user/fabric/query47.sql | 81 ++++ .../tpcds/single_user/fabric/query48.sql | 49 ++ .../tpcds/single_user/fabric/query49.sql | 166 +++++++ .../tpcds/single_user/fabric/query5.sql | 127 +++++ .../tpcds/single_user/fabric/query50.sql | 76 +++ .../tpcds/single_user/fabric/query51.sql | 65 +++ .../tpcds/single_user/fabric/query52.sql | 18 + .../tpcds/single_user/fabric/query53.sql | 58 +++ .../tpcds/single_user/fabric/query54.sql | 63 +++ .../tpcds/single_user/fabric/query55.sql | 15 + .../tpcds/single_user/fabric/query56.sql | 75 +++ .../tpcds/single_user/fabric/query57.sql | 74 +++ .../tpcds/single_user/fabric/query58.sql | 78 ++++ .../tpcds/single_user/fabric/query59.sql | 102 +++++ .../tpcds/single_user/fabric/query6.sql | 26 ++ .../tpcds/single_user/fabric/query60.sql | 75 +++ .../tpcds/single_user/fabric/query61.sql | 50 ++ .../tpcds/single_user/fabric/query62.sql | 52 +++ .../tpcds/single_user/fabric/query63.sql | 58 +++ .../tpcds/single_user/fabric/query64.sql | 132 ++++++ .../tpcds/single_user/fabric/query65.sql | 41 ++ .../tpcds/single_user/fabric/query66.sql | 398 ++++++++++++++++ .../tpcds/single_user/fabric/query67.sql | 56 +++ .../tpcds/single_user/fabric/query68.sql | 43 ++ .../tpcds/single_user/fabric/query69.sql | 53 +++ .../tpcds/single_user/fabric/query7.sql | 24 + .../tpcds/single_user/fabric/query70.sql | 41 ++ .../tpcds/single_user/fabric/query71.sql | 51 +++ .../tpcds/single_user/fabric/query72.sql | 43 ++ .../tpcds/single_user/fabric/query73.sql | 42 ++ .../tpcds/single_user/fabric/query74.sql | 65 +++ .../tpcds/single_user/fabric/query75.sql | 84 ++++ .../tpcds/single_user/fabric/query76.sql | 57 +++ .../tpcds/single_user/fabric/query77.sql | 107 +++++ .../tpcds/single_user/fabric/query78.sql | 80 ++++ .../tpcds/single_user/fabric/query79.sql | 37 ++ .../tpcds/single_user/fabric/query8.sql | 433 ++++++++++++++++++ .../tpcds/single_user/fabric/query80.sql | 102 +++++ .../tpcds/single_user/fabric/query81.sql | 56 +++ .../tpcds/single_user/fabric/query82.sql | 19 + .../tpcds/single_user/fabric/query83.sql | 72 +++ .../tpcds/single_user/fabric/query84.sql | 17 + .../tpcds/single_user/fabric/query85.sql | 66 +++ .../tpcds/single_user/fabric/query86.sql | 23 + .../tpcds/single_user/fabric/query87.sql | 36 ++ .../tpcds/single_user/fabric/query88.sql | 217 +++++++++ .../tpcds/single_user/fabric/query89.sql | 48 ++ .../tpcds/single_user/fabric/query9.sql | 82 ++++ .../tpcds/single_user/fabric/query90.sql | 28 ++ .../tpcds/single_user/fabric/query91.sql | 37 ++ .../tpcds/single_user/fabric/query92.sql | 17 + .../tpcds/single_user/fabric/query93.sql | 22 + .../tpcds/single_user/fabric/query94.sql | 25 + .../tpcds/single_user/fabric/query95.sql | 33 ++ .../tpcds/single_user/fabric/query96.sql | 13 + .../tpcds/single_user/fabric/query97.sql | 46 ++ .../tpcds/single_user/fabric/query98.sql | 25 + .../tpcds/single_user/fabric/query99.sql | 52 +++ 216 files changed, 8584 insertions(+) create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_call_center.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_catalog_page.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_catalog_returns.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_catalog_sales.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_customer.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_customer_address.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_customer_demographics.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_date_dim.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_household_demographics.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_income_band.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_inventory.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_item.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_promotion.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_reason.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_ship_mode.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_store.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_store_returns.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_store_sales.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_time_dim.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_warehouse.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_web_page.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_web_returns.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_web_sales.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/1_create_web_site.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_call_center.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_catalog_page.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_catalog_returns.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_catalog_sales.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_customer.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_customer_address.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_customer_demographics.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_date_dim.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_household_demographics.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_income_band.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_inventory.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_item.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_promotion.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_reason.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_ship_mode.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_store.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_store_returns.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_store_sales.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_time_dim.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_warehouse.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_web_page.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_web_returns.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_web_sales.sql create mode 100644 src/main/resources/scripts/tpcds/build/fabric/2_load_web_site.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_CS.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_I.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_SS.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_WS.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_CR.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_CS.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_I.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_SR.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_SS.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_WR.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_WS.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_1.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_2.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_3.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_delete.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_1.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_2.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_3.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_delete.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_1.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_2.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_3.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_delete.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_1.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_2.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_3.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_delete.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_1.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_2.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_3.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_delete.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_1.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_2.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_3.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_delete.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_1.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_2.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_3.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_delete.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_1.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_2.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_3.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_insert.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_1.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_2.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_3.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_insert.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_1.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_2.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_3.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_insert.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_1.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_2.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_3.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_insert.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_1.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_2.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_3.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_insert.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_1.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_2.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_3.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_insert.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_1.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_2.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_3.sql create mode 100644 src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_insert.sql create mode 100644 src/main/resources/scripts/tpcds/init/fabric/init.sql create mode 100644 src/main/resources/scripts/tpcds/setup_data_maintenance/fabric/ddl-external-tables-refresh.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query1.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query10.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query11.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query12.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query13.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query14.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query15.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query16.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query17.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query18.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query19.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query2.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query20.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query21.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query22.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query23.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query24.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query25.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query26.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query27.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query28.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query29.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query3.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query30.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query31.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query32.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query33.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query34.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query35.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query36.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query37.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query38.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query39.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query4.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query40.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query41.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query42.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query43.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query44.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query45.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query46.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query47.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query48.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query49.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query5.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query50.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query51.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query52.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query53.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query54.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query55.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query56.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query57.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query58.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query59.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query6.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query60.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query61.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query62.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query63.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query64.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query65.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query66.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query67.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query68.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query69.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query7.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query70.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query71.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query72.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query73.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query74.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query75.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query76.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query77.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query78.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query79.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query8.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query80.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query81.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query82.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query83.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query84.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query85.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query86.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query87.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query88.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query89.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query9.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query90.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query91.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query92.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query93.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query94.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query95.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query96.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query97.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query98.sql create mode 100644 src/main/resources/scripts/tpcds/single_user/fabric/query99.sql diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_call_center.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_call_center.sql new file mode 100644 index 00000000..5a27e263 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_call_center.sql @@ -0,0 +1,34 @@ +CREATE TABLE call_center +( + CC_CALL_CENTER_SK int, + CC_CALL_CENTER_ID char(16), + CC_REC_START_DATE date, + CC_REC_END_DATE date, + CC_CLOSED_DATE_SK int, + CC_OPEN_DATE_SK int, + CC_NAME varchar(50), + CC_CLASS varchar(50), + CC_EMPLOYEES int, + CC_SQ_FT int, + CC_HOURS char(20), + CC_MANAGER varchar(40), + CC_MKT_ID int, + CC_MKT_CLASS char(50), + CC_MKT_DESC varchar(100), + CC_MARKET_MANAGER varchar(40), + CC_DIVISION int, + CC_DIVISION_NAME varchar(50), + CC_COMPANY int, + CC_COMPANY_NAME char(50), + CC_STREET_NUMBER char(10), + CC_STREET_NAME varchar(60), + CC_STREET_TYPE char(15), + CC_SUITE_NUMBER char(10), + CC_CITY varchar(60), + CC_COUNTY varchar(30), + CC_STATE char(2), + CC_ZIP char(10), + CC_COUNTRY varchar(20), + CC_GMT_OFFSET decimal(5,2), + CC_TAX_PERCENTAGE decimal(5,2) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_catalog_page.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_catalog_page.sql new file mode 100644 index 00000000..332463b4 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_catalog_page.sql @@ -0,0 +1,12 @@ +CREATE TABLE catalog_page +( + CP_CATALOG_PAGE_SK int, + CP_CATALOG_PAGE_ID char(16), + CP_START_DATE_SK int, + CP_END_DATE_SK int, + CP_DEPARTMENT varchar(50), + CP_CATALOG_NUMBER int, + CP_CATALOG_PAGE_NUMBER int, + CP_DESCRIPTION varchar(100), + CP_TYPE varchar(100) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_catalog_returns.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_catalog_returns.sql new file mode 100644 index 00000000..77ce5c05 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_catalog_returns.sql @@ -0,0 +1,30 @@ +CREATE TABLE catalog_returns +( + CR_RETURNED_DATE_SK int, + CR_RETURNED_TIME_SK int, + CR_ITEM_SK int, + CR_REFUNDED_CUSTOMER_SK int, + CR_REFUNDED_CDEMO_SK int, + CR_REFUNDED_HDEMO_SK int, + CR_REFUNDED_ADDR_SK int, + CR_RETURNING_CUSTOMER_SK int, + CR_RETURNING_CDEMO_SK int, + CR_RETURNING_HDEMO_SK int, + CR_RETURNING_ADDR_SK int, + CR_CALL_CENTER_SK int, + CR_CATALOG_PAGE_SK int, + CR_SHIP_MODE_SK int, + CR_WAREHOUSE_SK int, + CR_REASON_SK int, + CR_ORDER_NUMBER bigint, + CR_RETURN_QUANTITY int, + CR_RETURN_AMOUNT decimal(7,2), + CR_RETURN_TAX decimal(7,2), + CR_RETURN_AMT_INC_TAX decimal(7,2), + CR_FEE decimal(7,2), + CR_RETURN_SHIP_COST decimal(7,2), + CR_REFUNDED_CASH decimal(7,2), + CR_REVERSED_CHARGE decimal(7,2), + CR_STORE_CREDIT decimal(7,2), + CR_NET_LOSS decimal(7,2) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_catalog_sales.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_catalog_sales.sql new file mode 100644 index 00000000..2894f5ee --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_catalog_sales.sql @@ -0,0 +1,37 @@ +CREATE TABLE catalog_sales +( + CS_SOLD_DATE_SK int, + CS_SOLD_TIME_SK int, + CS_SHIP_DATE_SK int, + CS_BILL_CUSTOMER_SK int, + CS_BILL_CDEMO_SK int, + CS_BILL_HDEMO_SK int, + CS_BILL_ADDR_SK int, + CS_SHIP_CUSTOMER_SK int, + CS_SHIP_CDEMO_SK int, + CS_SHIP_HDEMO_SK int, + CS_SHIP_ADDR_SK int, + CS_CALL_CENTER_SK int, + CS_CATALOG_PAGE_SK int, + CS_SHIP_MODE_SK int, + CS_WAREHOUSE_SK int, + CS_ITEM_SK int, + CS_PROMO_SK int, + CS_ORDER_NUMBER bigint, + CS_QUANTITY int, + CS_WHOLESALE_COST decimal(7,2), + CS_LIST_PRICE decimal(7,2), + CS_SALES_PRICE decimal(7,2), + CS_EXT_DISCOUNT_AMT decimal(7,2), + CS_EXT_SALES_PRICE decimal(7,2), + CS_EXT_WHOLESALE_COST decimal(7,2), + CS_EXT_LIST_PRICE decimal(7,2), + CS_EXT_TAX decimal(7,2), + CS_COUPON_AMT decimal(7,2), + CS_EXT_SHIP_COST decimal(7,2), + CS_NET_PAID decimal(7,2), + CS_NET_PAID_INC_TAX decimal(7,2), + CS_NET_PAID_INC_SHIP decimal(7,2), + CS_NET_PAID_INC_SHIP_TAX decimal(7,2), + CS_NET_PROFIT decimal(7,2) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_customer.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_customer.sql new file mode 100644 index 00000000..99666cbf --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_customer.sql @@ -0,0 +1,21 @@ +CREATE TABLE customer +( + C_CUSTOMER_SK int, + C_CUSTOMER_ID char(16), + C_CURRENT_CDEMO_SK int, + C_CURRENT_HDEMO_SK int, + C_CURRENT_ADDR_SK int, + C_FIRST_SHIPTO_DATE_SK int, + C_FIRST_SALES_DATE_SK int, + C_SALUTATION char(10), + C_FIRST_NAME char(20), + C_LAST_NAME char(30), + C_PREFERRED_CUST_FLAG char(1), + C_BIRTH_DAY int, + C_BIRTH_MONTH int, + C_BIRTH_YEAR int, + C_BIRTH_COUNTRY varchar(20), + C_LOGIN char(13), + C_EMAIL_ADDRESS char(50), + C_LAST_REVIEW_DATE_SK varchar(10) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_customer_address.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_customer_address.sql new file mode 100644 index 00000000..b5b13539 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_customer_address.sql @@ -0,0 +1,16 @@ +CREATE TABLE customer_address +( + CA_ADDRESS_SK int, + CA_ADDRESS_ID char(16), + CA_STREET_NUMBER char(10), + CA_STREET_NAME varchar(60), + CA_STREET_TYPE char(15), + CA_SUITE_NUMBER char(10), + CA_CITY varchar(60), + CA_COUNTY varchar(30), + CA_STATE char(2), + CA_ZIP char(10), + CA_COUNTRY varchar(20), + CA_GMT_OFFSET decimal(5,2), + CA_LOCATION_TYPE char(20) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_customer_demographics.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_customer_demographics.sql new file mode 100644 index 00000000..cc8c46a0 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_customer_demographics.sql @@ -0,0 +1,12 @@ +CREATE TABLE customer_demographics +( + CD_DEMO_SK int, + CD_GENDER char(1), + CD_MARITAL_STATUS char(1), + CD_EDUCATION_STATUS char(20), + CD_PURCHASE_ESTIMATE int, + CD_CREDIT_RATING char(10), + CD_DEP_COUNT int, + CD_DEP_EMPLOYED_COUNT int, + CD_DEP_COLLEGE_COUNT int +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_date_dim.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_date_dim.sql new file mode 100644 index 00000000..604860ba --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_date_dim.sql @@ -0,0 +1,31 @@ +CREATE TABLE date_dim +( + D_DATE_SK int, + D_DATE_ID char(16), + D_DATE date, + D_MONTH_SEQ int, + D_WEEK_SEQ int, + D_QUARTER_SEQ int, + D_YEAR int, + D_DOW int, + D_MOY int, + D_DOM int, + D_QOY int, + D_FY_YEAR int, + D_FY_QUARTER_SEQ int, + D_FY_WEEK_SEQ int, + D_DAY_NAME char(9), + D_QUARTER_NAME char(6), + D_HOLIDAY char(1), + D_WEEKEND char(1), + D_FOLLOWING_HOLIDAY char(1), + D_FIRST_DOM int, + D_LAST_DOM int, + D_SAME_DAY_LY int, + D_SAME_DAY_LQ int, + D_CURRENT_DAY char(1), + D_CURRENT_WEEK char(1), + D_CURRENT_MONTH char(1), + D_CURRENT_QUARTER char(1), + D_CURRENT_YEAR char(1) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_household_demographics.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_household_demographics.sql new file mode 100644 index 00000000..ff152960 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_household_demographics.sql @@ -0,0 +1,8 @@ +CREATE TABLE household_demographics +( + HD_DEMO_SK int, + HD_INCOME_BAND_SK int, + HD_BUY_POTENTIAL char(15), + HD_DEP_COUNT int, + HD_VEHICLE_COUNT int +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_income_band.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_income_band.sql new file mode 100644 index 00000000..27219ba4 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_income_band.sql @@ -0,0 +1,6 @@ +CREATE TABLE income_band +( + IB_INCOME_BAND_SK int, + IB_LOWER_BOUND int, + IB_UPPER_BOUND int +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_inventory.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_inventory.sql new file mode 100644 index 00000000..643be2ff --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_inventory.sql @@ -0,0 +1,7 @@ +CREATE TABLE inventory +( + INV_DATE_SK int, + INV_ITEM_SK int, + INV_WAREHOUSE_SK int, + INV_QUANTITY_ON_HAND int +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_item.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_item.sql new file mode 100644 index 00000000..cd6731e9 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_item.sql @@ -0,0 +1,25 @@ +CREATE TABLE item +( + I_ITEM_SK int, + I_ITEM_ID char(16), + I_REC_START_DATE date, + I_REC_END_DATE date, + I_ITEM_DESC varchar(200), + I_CURRENT_PRICE decimal(7,2), + I_WHOLESALE_COST decimal(7,2), + I_BRAND_ID int, + I_BRAND char(50), + I_CLASS_ID int, + I_CLASS char(50), + I_CATEGORY_ID int, + I_CATEGORY char(50), + I_MANUFACT_ID int, + I_MANUFACT char(50), + I_SIZE char(20), + I_FORMULATION char(20), + I_COLOR char(20), + I_UNITS char(10), + I_CONTAINER char(10), + I_MANAGER_ID int, + I_PRODUCT_NAME char(50) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_promotion.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_promotion.sql new file mode 100644 index 00000000..c4a54701 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_promotion.sql @@ -0,0 +1,22 @@ +CREATE TABLE promotion +( + P_PROMO_SK int, + P_PROMO_ID char(16), + P_START_DATE_SK int, + P_END_DATE_SK int, + P_ITEM_SK int, + P_COST decimal(15,2), + P_RESPONSE_TARGET int, + P_PROMO_NAME char(50), + P_CHANNEL_DMAIL char(1), + P_CHANNEL_EMAIL char(1), + P_CHANNEL_CATALOG char(1), + P_CHANNEL_TV char(1), + P_CHANNEL_RADIO char(1), + P_CHANNEL_PRESS char(1), + P_CHANNEL_EVENT char(1), + P_CHANNEL_DEMO char(1), + P_CHANNEL_DETAILS varchar(100), + P_PURPOSE char(15), + P_DISCOUNT_ACTIVE char(1) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_reason.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_reason.sql new file mode 100644 index 00000000..faca8daa --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_reason.sql @@ -0,0 +1,6 @@ +CREATE TABLE reason +( + R_REASON_SK int, + R_REASON_ID char(16), + R_REASON_DESC char(100) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_ship_mode.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_ship_mode.sql new file mode 100644 index 00000000..fde089f4 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_ship_mode.sql @@ -0,0 +1,9 @@ +CREATE TABLE ship_mode +( + SM_SHIP_MODE_SK int, + SM_SHIP_MODE_ID char(16), + SM_TYPE char(30), + SM_CODE char(10), + SM_CARRIER char(20), + SM_CONTRACT char(20) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_store.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_store.sql new file mode 100644 index 00000000..e2fd555f --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_store.sql @@ -0,0 +1,32 @@ +CREATE TABLE store +( + S_STORE_SK int, + S_STORE_ID char(16), + S_REC_START_DATE date, + S_REC_END_DATE date, + S_CLOSED_DATE_SK int, + S_STORE_NAME varchar(50), + S_NUMBER_EMPLOYEES int, + S_FLOOR_SPACE int, + S_HOURS char(20), + S_MANAGER varchar(40), + S_MARKET_ID int, + S_GEOGRAPHY_CLASS varchar(100), + S_MARKET_DESC varchar(100), + S_MARKET_MANAGER varchar(40), + S_DIVISION_ID int, + S_DIVISION_NAME varchar(50), + S_COMPANY_ID int, + S_COMPANY_NAME varchar(50), + S_STREET_NUMBER varchar(10), + S_STREET_NAME varchar(60), + S_STREET_TYPE char(15), + S_SUITE_NUMBER char(10), + S_CITY varchar(60), + S_COUNTY varchar(30), + S_STATE char(2), + S_ZIP char(10), + S_COUNTRY varchar(20), + S_GMT_OFFSET decimal(5,2), + S_TAX_PRECENTAGE decimal(5,2) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_store_returns.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_store_returns.sql new file mode 100644 index 00000000..433ebdf9 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_store_returns.sql @@ -0,0 +1,23 @@ +CREATE TABLE store_returns +( + SR_RETURNED_DATE_SK int, + SR_RETURN_TIME_SK int, + SR_ITEM_SK int, + SR_CUSTOMER_SK int, + SR_CDEMO_SK int, + SR_HDEMO_SK int, + SR_ADDR_SK int, + SR_STORE_SK int, + SR_REASON_SK int, + SR_TICKET_NUMBER int, + SR_RETURN_QUANTITY int, + SR_RETURN_AMT decimal(7,2), + SR_RETURN_TAX decimal(7,2), + SR_RETURN_AMT_INC_TAX decimal(7,2), + SR_FEE decimal(7,2), + SR_RETURN_SHIP_COST decimal(7,2), + SR_REFUNDED_CASH decimal(7,2), + SR_REVERSED_CHARGE decimal(7,2), + SR_STORE_CREDIT decimal(7,2), + SR_NET_LOSS decimal(7,2) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_store_sales.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_store_sales.sql new file mode 100644 index 00000000..1bf45922 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_store_sales.sql @@ -0,0 +1,26 @@ +CREATE TABLE store_sales +( + SS_SOLD_DATE_SK int, + SS_SOLD_TIME_SK int, + SS_ITEM_SK int, + SS_CUSTOMER_SK int, + SS_CDEMO_SK int, + SS_HDEMO_SK int, + SS_ADDR_SK int, + SS_STORE_SK int, + SS_PROMO_SK int, + SS_TICKET_NUMBER int, + SS_QUANTITY int, + SS_WHOLESALE_COST decimal(7, 2), + SS_LIST_PRICE decimal(7, 2), + SS_SALES_PRICE decimal(7, 2), + SS_EXT_DISCOUNT_AMT decimal(7, 2), + SS_EXT_SALES_PRICE decimal(7, 2), + SS_EXT_WHOLESALE_COST decimal(7, 2), + SS_EXT_LIST_PRICE decimal(7, 2), + SS_EXT_TAX decimal(7, 2), + SS_COUPON_AMT decimal(7, 2), + SS_NET_PAID decimal(7, 2), + SS_NET_PAID_INC_TAX decimal(7, 2), + SS_NET_PROFIT decimal(7, 2) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_time_dim.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_time_dim.sql new file mode 100644 index 00000000..e8c849f1 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_time_dim.sql @@ -0,0 +1,13 @@ +CREATE TABLE time_dim +( + T_TIME_SK int, + T_TIME_ID char(16), + T_TIME int, + T_HOUR int, + T_MINUTE int, + T_SECOND int, + T_AM_PM char(2), + T_SHIFT char(20), + T_SUB_SHIFT char(20), + T_MEAL_TIME char(20) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_warehouse.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_warehouse.sql new file mode 100644 index 00000000..a51ca4b4 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_warehouse.sql @@ -0,0 +1,17 @@ +CREATE TABLE warehouse +( + W_WAREHOUSE_SK int, + W_WAREHOUSE_ID char(16), + W_WAREHOUSE_NAME varchar(20), + W_WAREHOUSE_SQ_FT int, + W_STREET_NUMBER char(10), + W_STREET_NAME varchar(60), + W_STREET_TYPE char(15), + W_SUITE_NUMBER char(10), + W_CITY varchar(60), + W_COUNTY varchar(30), + W_STATE char(2), + W_ZIP char(10), + W_COUNTRY varchar(20), + W_GMT_OFFSET decimal(5,2) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_web_page.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_web_page.sql new file mode 100644 index 00000000..bd1835ef --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_web_page.sql @@ -0,0 +1,17 @@ +CREATE TABLE web_page +( + WP_WEB_PAGE_SK int, + WP_WEB_PAGE_ID char(16), + WP_REC_START_DATE date, + WP_REC_END_DATE date, + WP_CREATION_DATE_SK int, + WP_ACCESS_DATE_SK int, + WP_AUTOGEN_FLAG char(1), + WP_CUSTOMER_SK int, + WP_URL varchar(100), + WP_TYPE char(50), + WP_CHAR_COUNT int, + WP_LINK_COUNT int, + WP_IMAGE_COUNT int, + WP_MAX_AD_COUNT int +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_web_returns.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_web_returns.sql new file mode 100644 index 00000000..dee51b80 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_web_returns.sql @@ -0,0 +1,27 @@ +CREATE TABLE web_returns +( + WR_RETURNED_DATE_SK int, + WR_RETURNED_TIME_SK int, + WR_ITEM_SK int, + WR_REFUNDED_CUSTOMER_SK int, + WR_REFUNDED_CDEMO_SK int, + WR_REFUNDED_HDEMO_SK int, + WR_REFUNDED_ADDR_SK int, + WR_RETURNING_CUSTOMER_SK int, + WR_RETURNING_CDEMO_SK int, + WR_RETURNING_HDEMO_SK int, + WR_RETURNING_ADDR_SK int, + WR_WEB_PAGE_SK int, + WR_REASON_SK int, + WR_ORDER_NUMBER int, + WR_RETURN_QUANTITY int, + WR_RETURN_AMT decimal(7,2), + WR_RETURN_TAX decimal(7,2), + WR_RETURN_AMT_INC_TAX decimal(7,2), + WR_FEE decimal(7,2), + WR_RETURN_SHIP_COST decimal(7,2), + WR_REFUNDED_CASH decimal(7,2), + WR_REVERSED_CHARGE decimal(7,2), + WR_ACCOUNT_CREDIT decimal(7,2), + WR_NET_LOSS decimal(7,2) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_web_sales.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_web_sales.sql new file mode 100644 index 00000000..88a682ed --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_web_sales.sql @@ -0,0 +1,37 @@ +CREATE TABLE web_sales +( + WS_SOLD_DATE_SK int, + WS_SOLD_TIME_SK int, + WS_SHIP_DATE_SK int, + WS_ITEM_SK int, + WS_BILL_CUSTOMER_SK int, + WS_BILL_CDEMO_SK int, + WS_BILL_HDEMO_SK int, + WS_BILL_ADDR_SK int, + WS_SHIP_CUSTOMER_SK int, + WS_SHIP_CDEMO_SK int, + WS_SHIP_HDEMO_SK int, + WS_SHIP_ADDR_SK int, + WS_WEB_PAGE_SK int, + WS_WEB_SITE_SK int, + WS_SHIP_MODE_SK int, + WS_WAREHOUSE_SK int, + WS_PROMO_SK int, + WS_ORDER_NUMBER int, + WS_QUANTITY int, + WS_WHOLESALE_COST decimal(7,2), + WS_LIST_PRICE decimal(7,2), + WS_SALES_PRICE decimal(7,2), + WS_EXT_DISCOUNT_AMT decimal(7,2), + WS_EXT_SALES_PRICE decimal(7,2), + WS_EXT_WHOLESALE_COST decimal(7,2), + WS_EXT_LIST_PRICE decimal(7,2), + WS_EXT_TAX decimal(7,2), + WS_COUPON_AMT decimal(7,2), + WS_EXT_SHIP_COST decimal(7,2), + WS_NET_PAID decimal(7,2), + WS_NET_PAID_INC_TAX decimal(7,2), + WS_NET_PAID_INC_SHIP decimal(7,2), + WS_NET_PAID_INC_SHIP_TAX decimal(7,2), + WS_NET_PROFIT decimal(7,2) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/1_create_web_site.sql b/src/main/resources/scripts/tpcds/build/fabric/1_create_web_site.sql new file mode 100644 index 00000000..6ddfdc6c --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/1_create_web_site.sql @@ -0,0 +1,29 @@ +CREATE TABLE web_site +( + WEB_SITE_SK int, + WEB_SITE_ID char(16), + WEB_REC_START_DATE date, + WEB_REC_END_DATE date, + WEB_NAME varchar(50), + WEB_OPEN_DATE_SK int, + WEB_CLOSE_DATE_SK int, + WEB_CLASS varchar(50), + WEB_MANAGER varchar(40), + WEB_MKT_ID int, + WEB_MKT_CLASS varchar(50), + WEB_MKT_DESC varchar(100), + WEB_MARKET_MANAGER varchar(40), + WEB_COMPANY_ID int, + WEB_COMPANY_NAME char(50), + WEB_STREET_NUMBER char(10), + WEB_STREET_NAME varchar(60), + WEB_STREET_TYPE char(15), + WEB_SUITE_NUMBER char(10), + WEB_CITY varchar(60), + WEB_COUNTY varchar(30), + WEB_STATE char(2), + WEB_ZIP char(10), + WEB_COUNTRY varchar(20), + WEB_GMT_OFFSET decimal(5,2), + WEB_TAX_PERCENTAGE decimal(5,2) +); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_call_center.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_call_center.sql new file mode 100644 index 00000000..e1d2f736 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_call_center.sql @@ -0,0 +1,8 @@ +COPY INTO [call_center] +FROM '${external_catalog_base_url}/${external_catalog_size}/call_center/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_catalog_page.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_catalog_page.sql new file mode 100644 index 00000000..17df70a0 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_catalog_page.sql @@ -0,0 +1,8 @@ +COPY INTO [catalog_page] +FROM '${external_catalog_base_url}/${external_catalog_size}/catalog_page/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_catalog_returns.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_catalog_returns.sql new file mode 100644 index 00000000..9dfc9ac5 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_catalog_returns.sql @@ -0,0 +1,8 @@ +COPY INTO [catalog_returns] +FROM '${external_catalog_base_url}/${external_catalog_size}/catalog_returns/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_catalog_sales.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_catalog_sales.sql new file mode 100644 index 00000000..2e8e495b --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_catalog_sales.sql @@ -0,0 +1,8 @@ +COPY INTO [catalog_sales] +FROM '${external_catalog_base_url}/${external_catalog_size}/catalog_sales/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_customer.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_customer.sql new file mode 100644 index 00000000..8cd231f2 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_customer.sql @@ -0,0 +1,8 @@ +COPY INTO [customer] +FROM '${external_catalog_base_url}/${external_catalog_size}/customer/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_customer_address.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_customer_address.sql new file mode 100644 index 00000000..ffece05b --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_customer_address.sql @@ -0,0 +1,8 @@ +COPY INTO [customer_address] +FROM '${external_catalog_base_url}/${external_catalog_size}/customer_address/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_customer_demographics.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_customer_demographics.sql new file mode 100644 index 00000000..b932b1a2 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_customer_demographics.sql @@ -0,0 +1,8 @@ +COPY INTO [customer_demographics] +FROM '${external_catalog_base_url}/${external_catalog_size}/customer_demographics/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_date_dim.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_date_dim.sql new file mode 100644 index 00000000..dcb83604 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_date_dim.sql @@ -0,0 +1,8 @@ +COPY INTO [date_dim] +FROM '${external_catalog_base_url}/${external_catalog_size}/date_dim/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_household_demographics.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_household_demographics.sql new file mode 100644 index 00000000..5ce7d767 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_household_demographics.sql @@ -0,0 +1,8 @@ +COPY INTO [household_demographics] +FROM '${external_catalog_base_url}/${external_catalog_size}/household_demographics/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_income_band.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_income_band.sql new file mode 100644 index 00000000..c1a7e3f8 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_income_band.sql @@ -0,0 +1,8 @@ +COPY INTO [income_band] +FROM '${external_catalog_base_url}/${external_catalog_size}/income_band/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_inventory.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_inventory.sql new file mode 100644 index 00000000..7ae67438 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_inventory.sql @@ -0,0 +1,8 @@ +COPY INTO [inventory] +FROM '${external_catalog_base_url}/${external_catalog_size}/inventory/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_item.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_item.sql new file mode 100644 index 00000000..3e825b73 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_item.sql @@ -0,0 +1,8 @@ +COPY INTO [item] +FROM '${external_catalog_base_url}/${external_catalog_size}/item/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_promotion.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_promotion.sql new file mode 100644 index 00000000..53ce72b4 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_promotion.sql @@ -0,0 +1,8 @@ +COPY INTO [promotion] +FROM '${external_catalog_base_url}/${external_catalog_size}/promotion/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_reason.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_reason.sql new file mode 100644 index 00000000..8bd35710 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_reason.sql @@ -0,0 +1,8 @@ +COPY INTO [reason] +FROM '${external_catalog_base_url}/${external_catalog_size}/reason/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_ship_mode.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_ship_mode.sql new file mode 100644 index 00000000..2ad04512 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_ship_mode.sql @@ -0,0 +1,8 @@ +COPY INTO [ship_mode] +FROM '${external_catalog_base_url}/${external_catalog_size}/ship_mode/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_store.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_store.sql new file mode 100644 index 00000000..001f3c59 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_store.sql @@ -0,0 +1,8 @@ +COPY INTO [store] +FROM '${external_catalog_base_url}/${external_catalog_size}/store/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_store_returns.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_store_returns.sql new file mode 100644 index 00000000..cc8299f8 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_store_returns.sql @@ -0,0 +1,8 @@ +COPY INTO [store_returns] +FROM '${external_catalog_base_url}/${external_catalog_size}/store_returns/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_store_sales.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_store_sales.sql new file mode 100644 index 00000000..ce6bf1e6 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_store_sales.sql @@ -0,0 +1,8 @@ +COPY INTO [store_sales] +FROM '${external_catalog_base_url}/${external_catalog_size}/store_sales/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_time_dim.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_time_dim.sql new file mode 100644 index 00000000..20a8eb0d --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_time_dim.sql @@ -0,0 +1,8 @@ +COPY INTO [time_dim] +FROM '${external_catalog_base_url}/${external_catalog_size}/time_dim/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_warehouse.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_warehouse.sql new file mode 100644 index 00000000..25cddad6 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_warehouse.sql @@ -0,0 +1,8 @@ +COPY INTO [warehouse] +FROM '${external_catalog_base_url}/${external_catalog_size}/warehouse/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_web_page.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_web_page.sql new file mode 100644 index 00000000..f325a610 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_web_page.sql @@ -0,0 +1,8 @@ +COPY INTO [web_page] +FROM '${external_catalog_base_url}/${external_catalog_size}/web_page/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_web_returns.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_web_returns.sql new file mode 100644 index 00000000..f68d3cba --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_web_returns.sql @@ -0,0 +1,8 @@ +COPY INTO [web_returns] +FROM '${external_catalog_base_url}/${external_catalog_size}/web_returns/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_web_sales.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_web_sales.sql new file mode 100644 index 00000000..a76a5a3e --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_web_sales.sql @@ -0,0 +1,8 @@ +COPY INTO [web_sales] +FROM '${external_catalog_base_url}/${external_catalog_size}/web_sales/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/build/fabric/2_load_web_site.sql b/src/main/resources/scripts/tpcds/build/fabric/2_load_web_site.sql new file mode 100644 index 00000000..fb6e3bd5 --- /dev/null +++ b/src/main/resources/scripts/tpcds/build/fabric/2_load_web_site.sql @@ -0,0 +1,8 @@ +COPY INTO [web_site] +FROM '${external_catalog_base_url}/${external_catalog_size}/web_site/*.parquet' WITH ( + FILE_TYPE = 'Parquet', + CREDENTIAL = ( + IDENTITY = 'Shared Access Signature', + SECRET = '${external_catalog_secret_token}' + ) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_CS.sql b/src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_CS.sql new file mode 100644 index 00000000..c634da7e --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_CS.sql @@ -0,0 +1,11 @@ +DELETE FROM catalog_returns WHERE CR_ORDER_NUMBER IN (SELECT CS_ORDER_NUMBER FROM catalog_sales, date_dim WHERE CS_SOLD_DATE_SK=D_DATE_SK AND D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE)); +DELETE FROM catalog_sales WHERE CS_SOLD_DATE_SK >= (SELECT MIN(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE)) AND + CS_SOLD_DATE_SK <= (SELECT max(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE)); + +DELETE FROM catalog_returns WHERE CR_ORDER_NUMBER IN (SELECT CS_ORDER_NUMBER FROM catalog_sales, date_dim WHERE CS_SOLD_DATE_SK=D_DATE_SK AND D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE)); +DELETE FROM catalog_sales WHERE CS_SOLD_DATE_SK >= (SELECT MIN(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE)) AND + CS_SOLD_DATE_SK <= (SELECT max(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE)); + +DELETE FROM catalog_returns WHERE CR_ORDER_NUMBER IN (SELECT CS_ORDER_NUMBER FROM catalog_sales, date_dim WHERE CS_SOLD_DATE_SK=D_DATE_SK AND D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE)); +DELETE FROM catalog_sales WHERE CS_SOLD_DATE_SK >= (SELECT MIN(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE)) AND + CS_SOLD_DATE_SK <= (SELECT max(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE)); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_I.sql b/src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_I.sql new file mode 100644 index 00000000..81adbe99 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_I.sql @@ -0,0 +1,8 @@ +DELETE FROM inventory WHERE INV_DATE_SK >= ( SELECT min(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param7}' AS DATE) AND CAST('${param8}' AS DATE)) AND + INV_DATE_SK <= ( SELECT max(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param7}' AS DATE) AND CAST('${param8}' AS DATE)); + +DELETE FROM inventory WHERE INV_DATE_SK >= ( SELECT min(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param9}' AS DATE) AND CAST('${param10}' AS DATE)) AND + INV_DATE_SK <= ( SELECT max(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param9}' AS DATE) AND CAST('${param10}' AS DATE)); + +DELETE FROM inventory WHERE INV_DATE_SK >= ( SELECT min(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param11}' AS DATE) AND CAST('${param12}' AS DATE)) AND + INV_DATE_SK <= ( SELECT max(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param11}' AS DATE) AND CAST('${param12}' AS DATE)); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_SS.sql b/src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_SS.sql new file mode 100644 index 00000000..c91fa819 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_SS.sql @@ -0,0 +1,11 @@ +DELETE FROM store_returns where SR_TICKET_NUMBER IN (SELECT SS_TICKET_NUMBER FROM store_sales, date_dim WHERE SS_SOLD_DATE_SK=D_DATE_SK AND D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE)); +DELETE FROM store_sales where SS_SOLD_DATE_SK >= (SELECT mIN(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE)) AND + SS_SOLD_DATE_SK <= (SELECT MAX(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE)); + +DELETE FROM store_returns where SR_TICKET_NUMBER IN (SELECT SS_TICKET_NUMBER FROM store_sales, date_dim WHERE SS_SOLD_DATE_SK=D_DATE_SK AND D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE)); +DELETE FROM store_sales where SS_SOLD_DATE_SK >= (SELECT mIN(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE)) AND + SS_SOLD_DATE_SK<= (SELECT MAX(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE)); + +DELETE FROM store_returns where SR_TICKET_NUMBER IN (SELECT SS_TICKET_NUMBER FROM store_sales, date_dim WHERE SS_SOLD_DATE_SK=D_DATE_SK AND D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE)); +DELETE FROM store_sales where SS_SOLD_DATE_SK >= (SELECT mIN(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE)) AND + SS_SOLD_DATE_SK <= (SELECT MAX(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE)); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_WS.sql b/src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_WS.sql new file mode 100644 index 00000000..3c3674e8 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance/fabric/DF_WS.sql @@ -0,0 +1,11 @@ +DELETE FROM web_returns WHERE WR_ORDER_NUMBER IN (SELECT WS_ORDER_NUMBER FROM web_sales, date_dim WHERE WS_SOLD_DATE_SK=D_DATE_SK AND D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE)); +DELETE FROM web_sales WHERE WS_SOLD_DATE_SK >= (SELECT MIN(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE)) AND + WS_SOLD_DATE_SK <= (SELECT max(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE)); + +DELETE FROM web_returns WHERE WR_ORDER_NUMBER IN (SELECT WS_ORDER_NUMBER FROM web_sales, date_dim WHERE WS_SOLD_DATE_SK=D_DATE_SK AND D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE)); +DELETE FROM web_sales WHERE WS_SOLD_DATE_SK >= (SELECT MIN(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE)) AND + WS_SOLD_DATE_SK <= (SELECT max(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE)); + +DELETE FROM web_returns WHERE WR_ORDER_NUMBER IN (SELECT WS_ORDER_NUMBER FROM web_sales, date_dim WHERE WS_SOLD_DATE_SK=D_DATE_SK AND D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE)); +DELETE FROM web_sales WHERE WS_SOLD_DATE_SK >= (SELECT MIN(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE)) AND + WS_SOLD_DATE_SK <= (SELECT max(D_DATE_SK) FROM date_dim WHERE D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE)); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_CR.sql b/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_CR.sql new file mode 100644 index 00000000..a283ad79 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_CR.sql @@ -0,0 +1,50 @@ +DROP VIEW IF EXISTS crv_${stream_num}; + +CREATE VIEW crv_${stream_num} +AS SELECT D_DATE_SK CR_RETURN_DATE_SK +,T_TIME_SK CR_RETURN_TIME_SK +,I_ITEM_SK CR_ITEM_SK +,c1.C_CUSTOMER_SK CR_REFUNDED_CUSTOMER_SK +,c1.C_CURRENT_CDEMO_SK CR_REFUNDED_CDEMO_SK +,c1.C_CURRENT_HDEMO_SK CR_REFUNDED_HDEMO_SK +,c1.C_CURRENT_ADDR_SK CR_REFUNDED_ADDR_SK +,c2.C_CUSTOMER_SK CR_RETURNING_CUSTOMER_SK +,c2.C_CURRENT_CDEMO_SK CR_RETURNING_CDEMO_SK +,c2.C_CURRENT_HDEMO_SK CR_RETURNING_HDEMO_SK +,c2.C_CURRENT_ADDR_SK CR_RETURNING_ADDR_SK +,CC_CALL_CENTER_SK CR_CALL_CENTER_SK +,CP_CATALOG_PAGE_SK CR_CATALOG_PAGE_SK +,SM_SHIP_MODE_SK CR_SHIP_MODE_SK +,W_WAREHOUSE_SK CR_WAREHOUSE_SK +,R_REASON_SK CR_REASON_SK +,CRET_ORDER_ID CR_ORDER_NUMBER +,CRET_RETURN_QTY CR_RETURN_QUANTITY +,CRET_RETURN_AMT CR_RETURN_AMOUNT +,CRET_RETURN_TAX CR_RETURN_TAX +,(CRET_RETURN_AMT + CRET_RETURN_TAX) AS CR_RETURN_AMT_INC_TAX +,CRET_RETURN_FEE CR_FEE +,CRET_RETURN_SHIP_COST CR_RETURN_SHIP_COST +,CRET_REFUNDED_CASH CR_REFUNDED_CASH +,CRET_REVERSED_CHARGE CR_REVERSED_CHARGE +,CRET_MERCHANT_CREDIT CR_MERCHANT_CREDIT +,(CRET_RETURN_AMT+CRET_RETURN_TAX+CRET_RETURN_FEE-CRET_REFUNDED_CASH-CRET_REVERSED_CHARGE-CRET_MERCHANT_CREDIT) CR_NET_LOSS +FROM s_catalog_returns_${stream_num} +LEFT OUTER JOIN date_dim +ON (CAST(CRET_RETURN_DATE AS DATE) = D_DATE) +LEFT OUTER JOIN time_dim ON +((CAST(SUBSTRING(CRET_RETURN_TIME,1,2) AS INTEGER)*3600 ++CAST(SUBSTRING(CRET_RETURN_TIME,4,2) AS INTEGER)*60 ++CAST(SUBSTRING(CRET_RETURN_TIME,7,2) AS INTEGER)) = T_TIME) +LEFT OUTER JOIN item ON (CRET_ITEM_ID = I_ITEM_ID) +LEFT OUTER JOIN customer c1 ON (CRET_RETURN_CUSTOMER_ID = c1.C_CUSTOMER_ID) +LEFT OUTER JOIN customer c2 ON (CRET_REFUND_CUSTOMER_ID = c2.C_CUSTOMER_ID) +LEFT OUTER JOIN reason ON (CRET_REASON_ID = R_REASON_ID) +LEFT OUTER JOIN call_center ON (CRET_CALL_CENTER_ID = CC_CALL_CENTER_ID) +LEFT OUTER JOIN catalog_page ON (CRET_CATALOG_PAGE_ID = CP_CATALOG_PAGE_ID) +LEFT OUTER JOIN ship_mode ON (CRET_SHIPMODE_ID = SM_SHIP_MODE_ID) +LEFT OUTER JOIN warehouse ON (CRET_WAREHOUSE_ID = W_WAREHOUSE_ID) +WHERE I_REC_END_DATE IS NULL AND CC_REC_END_DATE IS NULL; + +INSERT INTO catalog_returns SELECT +CR_RETURN_DATE_SK,CR_RETURN_TIME_SK,CR_ITEM_SK,CR_REFUNDED_CUSTOMER_SK,CR_REFUNDED_CDEMO_SK,CR_REFUNDED_HDEMO_SK,CR_REFUNDED_ADDR_SK,CR_RETURNING_CUSTOMER_SK,CR_RETURNING_CDEMO_SK,CR_RETURNING_HDEMO_SK,CR_RETURNING_ADDR_SK,CR_CALL_CENTER_SK,CR_CATALOG_PAGE_SK,CR_SHIP_MODE_SK,CR_WAREHOUSE_SK,CR_REASON_SK,CR_ORDER_NUMBER,CR_RETURN_QUANTITY,CR_RETURN_AMOUNT,CR_RETURN_TAX,CR_RETURN_AMT_INC_TAX,CR_FEE,CR_RETURN_SHIP_COST,CR_REFUNDED_CASH,CR_REVERSED_CHARGE,CR_MERCHANT_CREDIT,CR_NET_LOSS +FROM crv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_CS.sql b/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_CS.sql new file mode 100644 index 00000000..053b369c --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_CS.sql @@ -0,0 +1,58 @@ +DROP VIEW IF EXISTS csv_${stream_num}; + +CREATE VIEW csv_${stream_num} +AS SELECT d1.D_DATE_SK CS_SOLD_DATE_SK +,T_TIME_SK CS_SOLD_TIME_SK +,d2.D_DATE_SK CS_SHIP_DATE_SK +,c1.C_CUSTOMER_SK CS_BILL_CUSTOMER_SK +,c1.C_CURRENT_CDEMO_SK CS_BILL_CDEMO_SK +,c1.C_CURRENT_HDEMO_SK CS_BILL_HDEMO_SK +,c1.C_CURRENT_ADDR_SK CS_BILL_ADDR_SK +,c2.C_CUSTOMER_SK CS_SHIP_CUSTOMER_SK +,c2.C_CURRENT_CDEMO_SK CS_SHIP_CDEMO_SK +,c2.C_CURRENT_HDEMO_SK CS_SHIP_HDEMO_SK +,c2.C_CURRENT_ADDR_SK CS_SHIP_ADDR_SK +,CC_CALL_CENTER_SK CS_CALL_CENTER_SK +,CP_CATALOG_PAGE_SK CS_CATALOG_PAGE_SK +,SM_SHIP_MODE_SK CS_SHIP_MODE_SK +,W_WAREHOUSE_SK CS_WAREHOUSE_SK +,I_ITEM_SK CS_ITEM_SK +,P_PROMO_SK CS_PROMO_SK +,CORD_ORDER_ID CS_ORDER_NUMBER +,CLIN_QUANTITY CS_QUANTITY +,I_WHOLESALE_COST CS_WHOLESALE_COST +,I_CURRENT_PRICE CS_LIST_PRICE +,CLIN_SALES_PRICE CS_SALES_PRICE +,(I_CURRENT_PRICE-CLIN_SALES_PRICE)*CLIN_QUANTITY CS_EXT_DISCOUNT_AMT +,(CLIN_SALES_PRICE * CLIN_QUANTITY) CS_EXT_SALES_PRICE +,(I_WHOLESALE_COST * CLIN_QUANTITY) CS_EXT_WHOLESALE_COST +,(I_CURRENT_PRICE * CLIN_QUANTITY) CS_EXT_LIST_PRICE +,(I_CURRENT_PRICE * CC_TAX_PERCENTAGE) CS_EXT_TAX +,CLIN_COUPON_AMT CS_COUPON_AMT +,(CLIN_SHIP_COST * CLIN_QUANTITY) CS_EXT_SHIP_COST +,(CLIN_SALES_PRICE * CLIN_QUANTITY)-CLIN_COUPON_AMT CS_NET_PAID +,(((CLIN_SALES_PRICE * CLIN_QUANTITY)-CLIN_COUPON_AMT)*(1+CC_TAX_PERCENTAGE)) CS_NET_PAID_INC_TAX +,((CLIN_SALES_PRICE * CLIN_QUANTITY)-CLIN_COUPON_AMT + (CLIN_SHIP_COST * CLIN_QUANTITY)) CS_NET_PAID_INC_SHIP +,((CLIN_SALES_PRICE * CLIN_QUANTITY)-CLIN_COUPON_AMT + (CLIN_SHIP_COST * CLIN_QUANTITY) + I_CURRENT_PRICE * CC_TAX_PERCENTAGE) CS_NET_PAID_INC_SHIP_TAX +,(((CLIN_SALES_PRICE * CLIN_QUANTITY)-CLIN_COUPON_AMT)-(CLIN_QUANTITY*I_WHOLESALE_COST)) CS_NET_PROFIT +FROM +s_catalog_order_${stream_num} +LEFT OUTER JOIN date_dim d1 ON +(CAST(CORD_ORDER_DATE AS DATE) = d1.D_DATE) +LEFT OUTER JOIN time_dim ON (CORD_ORDER_TIME = T_TIME) +LEFT OUTER JOIN customer c1 ON (CORD_BILL_CUSTOMER_ID = c1.C_CUSTOMER_ID) +LEFT OUTER JOIN customer c2 ON (CORD_SHIP_CUSTOMER_ID = c2.C_CUSTOMER_ID) +LEFT OUTER JOIN call_center ON (CORD_CALL_CENTER_ID = CC_CALL_CENTER_ID AND CC_REC_END_DATE IS NULL) +LEFT OUTER JOIN ship_mode ON (CORD_SHIP_MODE_ID = SM_SHIP_MODE_ID) +JOIN s_catalog_order_lineitem_${stream_num} ON (CORD_ORDER_ID = CLIN_ORDER_ID) +LEFT OUTER JOIN date_dim d2 ON +(CAST(CLIN_SHIP_DATE AS DATE) = d2.D_DATE) +LEFT OUTER JOIN catalog_page ON +(CLIN_CATALOG_PAGE_NUMBER = CP_CATALOG_PAGE_NUMBER AND CLIN_CATALOG_NUMBER = CP_CATALOG_NUMBER) +LEFT OUTER JOIN warehouse ON (CLIN_WAREHOUSE_ID = W_WAREHOUSE_ID) +LEFT OUTER JOIN item ON (CLIN_ITEM_ID = I_ITEM_ID AND I_REC_END_DATE IS NULL) +LEFT OUTER JOIN promotion ON (CLIN_PROMOTION_ID = P_PROMO_ID); + +INSERT INTO catalog_sales SELECT +CS_SOLD_DATE_SK,CS_SOLD_TIME_SK,CS_SHIP_DATE_SK,CS_BILL_CUSTOMER_SK,CS_BILL_CDEMO_SK,CS_BILL_HDEMO_SK,CS_BILL_ADDR_SK,CS_SHIP_CUSTOMER_SK,CS_SHIP_CDEMO_SK,CS_SHIP_HDEMO_SK,CS_SHIP_ADDR_SK,CS_CALL_CENTER_SK,CS_CATALOG_PAGE_SK,CS_SHIP_MODE_SK,CS_WAREHOUSE_SK,CS_ITEM_SK,CS_PROMO_SK,CS_ORDER_NUMBER,CS_QUANTITY,CS_WHOLESALE_COST,CS_LIST_PRICE,CS_SALES_PRICE,CS_EXT_DISCOUNT_AMT,CS_EXT_SALES_PRICE,CS_EXT_WHOLESALE_COST,CS_EXT_LIST_PRICE,CS_EXT_TAX,CS_COUPON_AMT,CS_EXT_SHIP_COST,CS_NET_PAID,CS_NET_PAID_INC_TAX,CS_NET_PAID_INC_SHIP,CS_NET_PAID_INC_SHIP_TAX,CS_NET_PROFIT +FROM csv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_I.sql b/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_I.sql new file mode 100644 index 00000000..97968110 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_I.sql @@ -0,0 +1,15 @@ +DROP VIEW IF EXISTS iv_${stream_num}; + +CREATE VIEW iv_${stream_num} +AS SELECT D_DATE_SK INV_DATE_SK, +I_ITEM_SK INV_ITEM_SK, +W_WAREHOUSE_SK INV_WAREHOUSE_SK, +INVN_QTY_ON_HAND INV_QUANTITY_ON_HAND +FROM s_inventory_${stream_num} +LEFT OUTER JOIN warehouse ON (INVN_WAREHOUSE_ID=W_WAREHOUSE_ID) +LEFT OUTER JOIN item ON (INVN_ITEM_ID=I_ITEM_ID AND I_REC_END_DATE IS NULL) +LEFT OUTER JOIN date_dim ON (D_DATE=CAST(INVN_DATE AS DATE)); + +INSERT INTO inventory SELECT +INV_DATE_SK, INV_ITEM_SK , INV_WAREHOUSE_SK , INV_QUANTITY_ON_HAND +FROM iv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_SR.sql b/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_SR.sql new file mode 100644 index 00000000..00343fc7 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_SR.sql @@ -0,0 +1,40 @@ +DROP VIEW IF EXISTS srv_${stream_num}; + +CREATE VIEW srv_${stream_num} +AS SELECT D_DATE_SK SR_RETURNED_DATE_SK +,T_TIME_SK SR_RETURN_TIME_SK +,I_ITEM_SK SR_ITEM_SK +,C_CUSTOMER_SK SR_CUSTOMER_SK +,C_CURRENT_CDEMO_SK SR_CDEMO_SK +,C_CURRENT_HDEMO_SK SR_HDEMO_SK +,C_CURRENT_ADDR_SK SR_ADDR_SK +,S_STORE_SK SR_STORE_SK +,R_REASON_SK SR_REASON_SK +,CAST(SRET_TICKET_NUMBER AS BIGINT) SR_TICKET_NUMBER +,SRET_RETURN_QTY SR_RETURN_QUANTITY +,(SRET_RETURN_AMT) SR_RETURN_AMT +,(SRET_RETURN_TAX) SR_RETURN_TAX +,(SRET_RETURN_AMT + SRET_RETURN_TAX) SR_RETURN_AMT_INC_TAX +,(SRET_RETURN_FEE) SR_FEE +,(SRET_RETURN_SHIP_COST) SR_RETURN_SHIP_COST +,(SRET_REFUNDED_CASH) SR_REFUNDED_CASH +,(SRET_REVERSED_CHARGE) SR_REVERSED_CHARGE +,(SRET_STORE_CREDIT) SR_STORE_CREDIT +,(SRET_RETURN_AMT+SRET_RETURN_TAX+SRET_RETURN_FEE-SRET_REFUNDED_CASH-SRET_REVERSED_CHARGE-SRET_STORE_CREDIT) SR_NET_LOSS +FROM s_store_returns_${stream_num} +LEFT OUTER JOIN date_dim +ON (CAST(SRET_RETURN_DATE AS DATE) = D_DATE) +LEFT OUTER JOIN time_dim +ON (( CAST(SUBSTRING(SRET_RETURN_TIME,1,2) AS INTEGER)*3600 ++CAST(SUBSTRING(SRET_RETURN_TIME,4,2) AS INTEGER)*60 ++CAST(SUBSTRING(SRET_RETURN_TIME,7,2) AS INTEGER)) = T_TIME) +LEFT OUTER JOIN item ON (SRET_ITEM_ID = I_ITEM_ID) +LEFT OUTER JOIN customer ON (SRET_CUSTOMER_ID = C_CUSTOMER_ID) +LEFT OUTER JOIN store ON (SRET_STORE_ID = S_STORE_ID) +LEFT OUTER JOIN reason ON (SRET_REASON_ID = R_REASON_ID) +WHERE I_REC_END_DATE IS NULL +AND S_REC_END_DATE IS NULL; + +INSERT INTO store_returns SELECT +SR_RETURNED_DATE_SK, SR_RETURN_TIME_SK,SR_ITEM_SK,SR_CUSTOMER_SK,SR_CDEMO_SK,SR_HDEMO_SK,SR_ADDR_SK,SR_STORE_SK,SR_REASON_SK,SR_TICKET_NUMBER,SR_RETURN_QUANTITY,SR_RETURN_AMT,SR_RETURN_TAX,SR_RETURN_AMT_INC_TAX,SR_FEE,SR_RETURN_SHIP_COST,SR_REFUNDED_CASH,SR_REVERSED_CHARGE,SR_STORE_CREDIT,SR_NET_LOSS +FROM srv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_SS.sql b/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_SS.sql new file mode 100644 index 00000000..4f2409df --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_SS.sql @@ -0,0 +1,43 @@ +DROP VIEW IF EXISTS ssv_${stream_num}; + +CREATE VIEW ssv_${stream_num} +AS SELECT D_DATE_SK SS_SOLD_DATE_SK, +T_TIME_SK SS_SOLD_TIME_SK, +I_ITEM_SK SS_ITEM_SK, +C_CUSTOMER_SK SS_CUSTOMER_SK, +C_CURRENT_CDEMO_SK SS_CDEMO_SK, +C_CURRENT_HDEMO_SK SS_HDEMO_SK, +C_CURRENT_ADDR_SK SS_ADDR_SK, +S_STORE_SK SS_STORE_SK, +P_PROMO_SK SS_PROMO_SK, +PURC_PURCHASE_ID SS_TICKET_NUMBER, +PLIN_QUANTITY SS_QUANTITY, +(I_WHOLESALE_COST) SS_WHOLESALE_COST, +(I_CURRENT_PRICE) SS_LIST_PRICE, +(PLIN_SALE_PRICE) SS_SALES_PRICE, +((I_CURRENT_PRICE-PLIN_SALE_PRICE)*PLIN_QUANTITY) SS_EXT_DISCOUNT_AMT, +(PLIN_SALE_PRICE * PLIN_QUANTITY) SS_EXT_SALES_PRICE, +(I_WHOLESALE_COST * PLIN_QUANTITY) SS_EXT_WHOLESALE_COST, +(I_CURRENT_PRICE * PLIN_QUANTITY) SS_EXT_LIST_PRICE, +(I_CURRENT_PRICE * S_TAX_PRECENTAGE) SS_EXT_TAX, +(PLIN_COUPON_AMT) SS_COUPON_AMT, +((PLIN_SALE_PRICE * PLIN_QUANTITY)-PLIN_COUPON_AMT) SS_NET_PAID, +(((PLIN_SALE_PRICE * PLIN_QUANTITY)-PLIN_COUPON_AMT)*(1+S_TAX_PRECENTAGE)) SS_NET_PAID_INC_TAX, +(((PLIN_SALE_PRICE * PLIN_QUANTITY)-PLIN_COUPON_AMT)-(PLIN_QUANTITY*I_WHOLESALE_COST)) SS_NET_PROFIT +FROM +s_purchase_${stream_num} +LEFT OUTER JOIN customer ON (PURC_CUSTOMER_ID = C_CUSTOMER_ID) +LEFT OUTER JOIN store ON (PURC_STORE_ID = S_STORE_ID) +LEFT OUTER JOIN date_dim ON (CAST(PURC_PURCHASE_DATE AS DATE) = D_DATE) +LEFT OUTER JOIN time_dim ON (PURC_PURCHASE_TIME = T_TIME) +JOIN s_purchase_lineitem_${stream_num} ON (PURC_PURCHASE_ID = PLIN_PURCHASE_ID) +LEFT OUTER JOIN promotion ON PLIN_PROMOTION_ID = P_PROMO_ID +LEFT OUTER JOIN item ON PLIN_ITEM_ID = I_ITEM_ID +WHERE +PURC_PURCHASE_ID = PLIN_PURCHASE_ID +AND I_REC_END_DATE IS NULL +AND S_REC_END_DATE IS NULL; + +INSERT INTO store_sales SELECT +SS_SOLD_DATE_SK,SS_SOLD_TIME_SK,SS_ITEM_SK,SS_CUSTOMER_SK,SS_CDEMO_SK,SS_HDEMO_SK,SS_ADDR_SK,SS_STORE_SK,SS_PROMO_SK,SS_TICKET_NUMBER,SS_QUANTITY,SS_WHOLESALE_COST,SS_LIST_PRICE,SS_SALES_PRICE,SS_EXT_DISCOUNT_AMT,SS_EXT_SALES_PRICE,SS_EXT_WHOLESALE_COST,SS_EXT_LIST_PRICE,SS_EXT_TAX,SS_COUPON_AMT,SS_NET_PAID,SS_NET_PAID_INC_TAX,SS_NET_PROFIT +FROM ssv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_WR.sql b/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_WR.sql new file mode 100644 index 00000000..bc856856 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_WR.sql @@ -0,0 +1,41 @@ +DROP VIEW IF EXISTS wrv_${stream_num}; + +CREATE VIEW wrv_${stream_num} +AS SELECT D_DATE_SK WR_RETURN_DATE_SK +,T_TIME_SK WR_RETURN_TIME_SK +,I_ITEM_SK WR_ITEM_SK +,c1.C_CUSTOMER_SK WR_REFUNDED_CUSTOMER_SK +,c1.C_CURRENT_CDEMO_SK WR_REFUNDED_CDEMO_SK +,c1.C_CURRENT_HDEMO_SK WR_REFUNDED_HDEMO_SK +,c1.C_CURRENT_ADDR_SK WR_REFUNDED_ADDR_SK +,c2.C_CUSTOMER_SK WR_RETURNING_CUSTOMER_SK +,c2.C_CURRENT_CDEMO_SK WR_RETURNING_CDEMO_SK +,c2.C_CURRENT_HDEMO_SK WR_RETURNING_HDEMO_SK +,c2.C_CURRENT_ADDR_SK WR_RETURNING_ADDR_SK +,WP_WEB_PAGE_SK WR_WEB_PAGE_SK +,R_REASON_SK WR_REASON_SK +,WRET_ORDER_ID WR_ORDER_NUMBER +,WRET_RETURN_QTY WR_RETURN_QUANTITY +,(WRET_RETURN_AMT) WR_RETURN_AMT +,(WRET_RETURN_TAX) WR_RETURN_TAX +,(WRET_RETURN_AMT + WRET_RETURN_TAX) AS WR_RETURN_AMT_INC_TAX +,(WRET_RETURN_FEE) WR_FEE +,(WRET_RETURN_SHIP_COST) WR_RETURN_SHIP_COST +,(WRET_REFUNDED_CASH) WR_REFUNDED_CASH +,(WRET_REVERSED_CHARGE) WR_REVERSED_CHARGE +,(WRET_ACCOUNT_CREDIT) WR_ACCOUNT_CREDIT +,(WRET_RETURN_AMT+WRET_RETURN_TAX+WRET_RETURN_FEE-WRET_REFUNDED_CASH-WRET_REVERSED_CHARGE-WRET_ACCOUNT_CREDIT) WR_NET_LOSS +FROM s_web_returns_${stream_num} +LEFT OUTER JOIN date_dim ON (CAST(WRET_RETURN_DATE AS DATE) = D_DATE) +LEFT OUTER JOIN time_dim ON ((CAST(SUBSTRING(WRET_RETURN_TIME,1,2) AS INTEGER)*3600 ++CAST(SUBSTRING(WRET_RETURN_TIME,4,2) AS INTEGER)*60+CAST(SUBSTRING(WRET_RETURN_TIME,7,2) AS INTEGER))=T_TIME) +LEFT OUTER JOIN item ON (WRET_ITEM_ID = I_ITEM_ID) +LEFT OUTER JOIN customer c1 ON (WRET_RETURN_CUSTOMER_ID = c1.C_CUSTOMER_ID) +LEFT OUTER JOIN customer c2 ON (WRET_REFUND_CUSTOMER_ID = c2.C_CUSTOMER_ID) +LEFT OUTER JOIN reason ON (WRET_REASON_ID = R_REASON_ID) +LEFT OUTER JOIN web_page ON (WRET_WEB_SITE_ID = WP_WEB_PAGE_ID) +WHERE I_REC_END_DATE IS NULL AND WP_REC_END_DATE IS NULL; + +INSERT INTO web_returns SELECT +WR_RETURN_DATE_SK,WR_RETURN_TIME_SK,WR_ITEM_SK,WR_REFUNDED_CUSTOMER_SK,WR_REFUNDED_CDEMO_SK,WR_REFUNDED_HDEMO_SK,WR_REFUNDED_ADDR_SK,WR_RETURNING_CUSTOMER_SK,WR_RETURNING_CDEMO_SK,WR_RETURNING_HDEMO_SK,WR_RETURNING_ADDR_SK,WR_WEB_PAGE_SK,WR_REASON_SK,WR_ORDER_NUMBER,WR_RETURN_QUANTITY,WR_RETURN_AMT,WR_RETURN_TAX,WR_RETURN_AMT_INC_TAX,WR_FEE,WR_RETURN_SHIP_COST,WR_REFUNDED_CASH,WR_REVERSED_CHARGE,WR_ACCOUNT_CREDIT,WR_NET_LOSS +FROM wrv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_WS.sql b/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_WS.sql new file mode 100644 index 00000000..2942d27d --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance/fabric/LF_WS.sql @@ -0,0 +1,55 @@ +DROP VIEW IF EXISTS wsv_${stream_num}; + +CREATE VIEW wsv_${stream_num} +AS SELECT d1.D_DATE_SK WS_SOLD_DATE_SK, +T_TIME_SK WS_SOLD_TIME_SK, +d2.D_DATE_SK WS_SHIP_DATE_SK, +I_ITEM_SK WS_ITEM_SK, +c1.C_CUSTOMER_SK WS_BILL_CUSTOMER_SK, +c1.C_CURRENT_CDEMO_SK WS_BILL_CDEMO_SK, +c1.C_CURRENT_HDEMO_SK WS_BILL_HDEMO_SK, +c1.C_CURRENT_ADDR_SK WS_BILL_ADDR_SK, +c2.C_CUSTOMER_SK WS_SHIP_CUSTOMER_SK, +c2.C_CURRENT_CDEMO_SK WS_SHIP_CDEMO_SK, +c2.C_CURRENT_HDEMO_SK WS_SHIP_HDEMO_SK, +c2.C_CURRENT_ADDR_SK WS_SHIP_ADDR_SK, +WP_WEB_PAGE_SK WS_WEB_PAGE_SK, +WEB_SITE_SK WS_WEB_SITE_SK, +SM_SHIP_MODE_SK WS_SHIP_MODE_SK, +W_WAREHOUSE_SK WS_WAREHOUSE_SK, +P_PROMO_SK WS_PROMO_SK, +WORD_ORDER_ID WS_ORDER_NUMBER, +WLIN_QUANTITY WS_QUANTITY, +(I_WHOLESALE_COST) WS_WHOLESALE_COST, +(I_CURRENT_PRICE) WS_LIST_PRICE, +(WLIN_SALES_PRICE) WS_SALES_PRICE, +((I_CURRENT_PRICE-WLIN_SALES_PRICE)*WLIN_QUANTITY) WS_EXT_DISCOUNT_AMT, +(WLIN_SALES_PRICE * WLIN_QUANTITY) WS_EXT_SALES_PRICE, +(I_WHOLESALE_COST * WLIN_QUANTITY) WS_EXT_WHOLESALE_COST, +(I_CURRENT_PRICE * WLIN_QUANTITY) WS_EXT_LIST_PRICE, +(I_CURRENT_PRICE * WEB_TAX_PERCENTAGE) WS_EXT_TAX, +(WLIN_COUPON_AMT) WS_COUPON_AMT, +(WLIN_SHIP_COST * WLIN_QUANTITY) WS_EXT_SHIP_COST, +((WLIN_SALES_PRICE * WLIN_QUANTITY)-WLIN_COUPON_AMT) WS_NET_PAID, +(((WLIN_SALES_PRICE * WLIN_QUANTITY)-WLIN_COUPON_AMT)*(1+WEB_TAX_PERCENTAGE)) WS_NET_PAID_INC_TAX, +(((WLIN_SALES_PRICE * WLIN_QUANTITY)-WLIN_COUPON_AMT)-(WLIN_QUANTITY*I_WHOLESALE_COST)) WS_NET_PAID_INC_SHIP, +((WLIN_SALES_PRICE * WLIN_QUANTITY)-WLIN_COUPON_AMT + (WLIN_SHIP_COST * WLIN_QUANTITY) + I_CURRENT_PRICE * WEB_TAX_PERCENTAGE) WS_NET_PAID_INC_SHIP_TAX, +(((WLIN_SALES_PRICE * WLIN_QUANTITY)-WLIN_COUPON_AMT)-(I_WHOLESALE_COST * WLIN_QUANTITY)) WS_NET_PROFIT +FROM +s_web_order_${stream_num} +LEFT OUTER JOIN date_dim d1 ON (CAST(WORD_ORDER_DATE AS DATE) = d1.D_DATE) +LEFT OUTER JOIN time_dim ON (WORD_ORDER_TIME = T_TIME) +LEFT OUTER JOIN customer c1 ON (WORD_BILL_CUSTOMER_ID = c1.C_CUSTOMER_ID) +LEFT OUTER JOIN customer c2 ON (WORD_SHIP_CUSTOMER_ID = c2.C_CUSTOMER_ID) +LEFT OUTER JOIN web_site ON (WORD_WEB_SITE_ID = WEB_SITE_ID AND WEB_REC_END_DATE IS NULL) +LEFT OUTER JOIN ship_mode ON (WORD_SHIP_MODE_ID = SM_SHIP_MODE_ID) +JOIN s_web_order_lineitem_${stream_num} ON (WORD_ORDER_ID = WLIN_ORDER_ID) +LEFT OUTER JOIN date_dim d2 ON (CAST(WLIN_SHIP_DATE AS DATE) = d2.D_DATE) +LEFT OUTER JOIN item ON (WLIN_ITEM_ID = I_ITEM_ID AND I_REC_END_DATE IS NULL) +LEFT OUTER JOIN web_page ON (WLIN_WEB_PAGE_ID = WP_WEB_PAGE_ID AND WP_REC_END_DATE IS NULL) +LEFT OUTER JOIN warehouse ON (WLIN_WAREHOUSE_ID = W_WAREHOUSE_ID) +LEFT OUTER JOIN promotion ON (WLIN_PROMOTION_ID = P_PROMO_ID); + +INSERT INTO web_sales SELECT +WS_SOLD_DATE_SK,WS_SOLD_TIME_SK,WS_SHIP_DATE_SK,WS_ITEM_SK,WS_BILL_CUSTOMER_SK,WS_BILL_CDEMO_SK,WS_BILL_HDEMO_SK,WS_BILL_ADDR_SK,WS_SHIP_CUSTOMER_SK,WS_SHIP_CDEMO_SK,WS_SHIP_HDEMO_SK,WS_SHIP_ADDR_SK,WS_WEB_PAGE_SK,WS_WEB_SITE_SK,WS_SHIP_MODE_SK,WS_WAREHOUSE_SK,WS_PROMO_SK,WS_ORDER_NUMBER,WS_QUANTITY,WS_WHOLESALE_COST,WS_LIST_PRICE,WS_SALES_PRICE,WS_EXT_DISCOUNT_AMT,WS_EXT_SALES_PRICE,WS_EXT_WHOLESALE_COST,WS_EXT_LIST_PRICE,WS_EXT_TAX,WS_COUPON_AMT,WS_EXT_SHIP_COST,WS_NET_PAID,WS_NET_PAID_INC_TAX,WS_NET_PAID_INC_SHIP,WS_NET_PAID_INC_SHIP_TAX,WS_NET_PROFIT +FROM wsv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_1.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_1.sql new file mode 100644 index 00000000..dda51ec6 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_1.sql @@ -0,0 +1,7 @@ +SELECT + CS_ORDER_NUMBER as CR_ORDER_NUMBER +FROM + catalog_sales, date_dim +WHERE + WHERE CS_SOLD_DATE_SK=D_DATE_SK + AND D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_2.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_2.sql new file mode 100644 index 00000000..9a02f1a7 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_2.sql @@ -0,0 +1,7 @@ +SELECT + CS_ORDER_NUMBER as CR_ORDER_NUMBER +FROM + catalog_sales, date_dim +WHERE + WHERE CS_SOLD_DATE_SK=D_DATE_SK + AND D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_3.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_3.sql new file mode 100644 index 00000000..ca402887 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_3.sql @@ -0,0 +1,7 @@ +SELECT + CS_ORDER_NUMBER as CR_ORDER_NUMBER +FROM + catalog_sales, date_dim +WHERE + WHERE CS_SOLD_DATE_SK=D_DATE_SK + AND D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_delete.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_delete.sql new file mode 100644 index 00000000..1860701a --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CR_delete.sql @@ -0,0 +1,2 @@ +DELETE FROM catalog_returns +WHERE CR_ORDER_NUMBER IN (${CR_ORDER_NUMBER}); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_1.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_1.sql new file mode 100644 index 00000000..70e7a878 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_1.sql @@ -0,0 +1,21 @@ +SELECT + CS_ITEM_SK, CS_ORDER_NUMBER +FROM + catalog_sales +WHERE + CS_SOLD_DATE_SK >= ( + SELECT + MIN(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE) + ) + AND CS_SOLD_DATE_SK <=( + SELECT + MAX(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_2.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_2.sql new file mode 100644 index 00000000..fc050746 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_2.sql @@ -0,0 +1,21 @@ +SELECT + CS_ITEM_SK, CS_ORDER_NUMBER +FROM + catalog_sales +WHERE + CS_SOLD_DATE_SK >= ( + SELECT + MIN(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE) + ) + AND CS_SOLD_DATE_SK <=( + SELECT + MAX(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_3.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_3.sql new file mode 100644 index 00000000..10f4e2e5 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_3.sql @@ -0,0 +1,21 @@ +SELECT + CS_ITEM_SK, CS_ORDER_NUMBER +FROM + catalog_sales +WHERE + CS_SOLD_DATE_SK >= ( + SELECT + MIN(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE) + ) + AND CS_SOLD_DATE_SK <=( + SELECT + MAX(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_delete.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_delete.sql new file mode 100644 index 00000000..ae6b6155 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_CS_delete.sql @@ -0,0 +1,2 @@ +DELETE FROM catalog_sales +WHERE CS_ITEM_SK IN (${CS_ITEM_SK}) AND CS_ORDER_NUMBER IN (${CS_ORDER_NUMBER}); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_1.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_1.sql new file mode 100644 index 00000000..12a5bb6a --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_1.sql @@ -0,0 +1,21 @@ +SELECT + INV_DATE_SK, INV_ITEM_SK, INV_WAREHOUSE_SK +FROM + inventory +WHERE + INV_DATE_SK >=( + SELECT + MIN(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param7}' AS DATE) AND CAST('${param8}' AS DATE) + ) + AND INV_DATE_SK <=( + SELECT + MAX(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param7}' AS DATE) AND CAST('${param8}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_2.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_2.sql new file mode 100644 index 00000000..f453c497 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_2.sql @@ -0,0 +1,21 @@ +SELECT + INV_DATE_SK, INV_ITEM_SK, INV_WAREHOUSE_SK +FROM + inventory +WHERE + INV_DATE_SK >=( + SELECT + MIN(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param9}' AS DATE) AND CAST('${param10}' AS DATE) + ) + AND INV_DATE_SK <=( + SELECT + MAX(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param9}' AS DATE) AND CAST('${param10}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_3.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_3.sql new file mode 100644 index 00000000..5b6a1b69 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_3.sql @@ -0,0 +1,21 @@ +SELECT + INV_DATE_SK, INV_ITEM_SK, INV_WAREHOUSE_SK +FROM + inventory +WHERE + INV_DATE_SK >=( + SELECT + MIN(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param11}' AS DATE) AND CAST('${param12}' AS DATE) + ) + AND INV_DATE_SK <=( + SELECT + MAX(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param11}' AS DATE) AND CAST('${param12}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_delete.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_delete.sql new file mode 100644 index 00000000..156992bd --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_I_delete.sql @@ -0,0 +1,2 @@ +DELETE FROM inventory +WHERE INV_DATE_SK IN (${INV_DATE_SK}) AND INV_ITEM_SK IN (${INV_ITEM_SK}) AND INV_WAREHOUSE_SK IN (${INV_WAREHOUSE_SK}); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_1.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_1.sql new file mode 100644 index 00000000..8d293081 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_1.sql @@ -0,0 +1,15 @@ +SELECT + SR_ITEM_SK, SR_TICKET_NUMBER +FROM + store_returns +WHERE + SR_TICKET_NUMBER IN( + SELECT + SS_TICKET_NUMBER + FROM + store_sales, + date_dim + WHERE + SS_SOLD_DATE_SK = D_DATE_SK + AND D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE) + ); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_2.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_2.sql new file mode 100644 index 00000000..3da2c1c7 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_2.sql @@ -0,0 +1,15 @@ +SELECT + SR_ITEM_SK, SR_TICKET_NUMBER +FROM + store_returns +WHERE + SR_TICKET_NUMBER IN( + SELECT + SS_TICKET_NUMBER + FROM + store_sales, + date_dim + WHERE + SS_SOLD_DATE_SK = D_DATE_SK + AND D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_3.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_3.sql new file mode 100644 index 00000000..40012da5 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_3.sql @@ -0,0 +1,15 @@ +SELECT + SR_ITEM_SK, SR_TICKET_NUMBER +FROM + store_returns +WHERE + SR_TICKET_NUMBER IN( + SELECT + SS_TICKET_NUMBER + FROM + store_sales, + date_dim + WHERE + SS_SOLD_DATE_SK = D_DATE_SK + AND D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_delete.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_delete.sql new file mode 100644 index 00000000..405ca12d --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SR_delete.sql @@ -0,0 +1,2 @@ +DELETE FROM store_returns +WHERE SR_ITEM_SK IN (${SR_ITEM_SK}) AND SR_TICKET_NUMBER IN (${SR_TICKET_NUMBER}); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_1.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_1.sql new file mode 100644 index 00000000..0a5cae40 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_1.sql @@ -0,0 +1,21 @@ +SELECT + SS_ITEM_SK, SS_TICKET_NUMBER +FROM + store_sales +WHERE + SS_SOLD_DATE_SK >=( + SELECT + MIN(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE) + ) + AND SS_SOLD_DATE_SK <=( + SELECT + MAX(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_2.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_2.sql new file mode 100644 index 00000000..dbe9127e --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_2.sql @@ -0,0 +1,21 @@ +SELECT + SS_ITEM_SK, SS_TICKET_NUMBER +FROM + store_sales +WHERE + SS_SOLD_DATE_SK >=( + SELECT + MIN(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE) + ) + AND SS_SOLD_DATE_SK <=( + SELECT + MAX(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_3.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_3.sql new file mode 100644 index 00000000..085ad5c0 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_3.sql @@ -0,0 +1,21 @@ +SELECT + SS_ITEM_SK, SS_TICKET_NUMBER +FROM + store_sales +WHERE + SS_SOLD_DATE_SK >=( + SELECT + MIN(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE) + ) + AND SS_SOLD_DATE_SK <=( + SELECT + MAX(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_delete.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_delete.sql new file mode 100644 index 00000000..fc132def --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_SS_delete.sql @@ -0,0 +1,2 @@ +DELETE FROM store_sales +WHERE SS_ITEM_SK IN (${SS_ITEM_SK}) AND SS_TICKET_NUMBER IN (${SS_TICKET_NUMBER}); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_1.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_1.sql new file mode 100644 index 00000000..6ec18756 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_1.sql @@ -0,0 +1,15 @@ +SELECT + WR_ITEM_SK, WR_ORDER_NUMBER +FROM + web_returns +WHERE + WR_ORDER_NUMBER IN( + SELECT + WS_ORDER_NUMBER + FROM + web_sales, + date_dim + WHERE + WS_SOLD_DATE_SK = D_DATE_SK + AND D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_2.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_2.sql new file mode 100644 index 00000000..1a058f56 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_2.sql @@ -0,0 +1,15 @@ +SELECT + WR_ITEM_SK, WR_ORDER_NUMBER +FROM + web_returns +WHERE + WR_ORDER_NUMBER IN( + SELECT + WS_ORDER_NUMBER + FROM + web_sales, + date_dim + WHERE + WS_SOLD_DATE_SK = D_DATE_SK + AND D_DATE BETWEEN CAST('${param3}' AS DATE) AND CAST('${param4}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_3.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_3.sql new file mode 100644 index 00000000..8456b707 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_3.sql @@ -0,0 +1,15 @@ +SELECT + WR_ITEM_SK, WR_ORDER_NUMBER +FROM + web_returns +WHERE + WR_ORDER_NUMBER IN( + SELECT + WS_ORDER_NUMBER + FROM + web_sales, + date_dim + WHERE + WS_SOLD_DATE_SK = D_DATE_SK + AND D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_delete.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_delete.sql new file mode 100644 index 00000000..da26d69a --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WR_delete.sql @@ -0,0 +1,2 @@ +DELETE FROM web_returns +WHERE WR_ITEM_SK IN (${WR_ITEM_SK}) AND WR_ORDER_NUMBER IN (${WR_ORDER_NUMBER}); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_1.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_1.sql new file mode 100644 index 00000000..654fa322 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_1.sql @@ -0,0 +1,21 @@ +SELECT + WS_ITEM_SK, WS_ORDER_NUMBER +FROM + web_sales +WHERE + WS_SOLD_DATE_SK >=( + SELECT + MIN(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE) + ) + AND WS_SOLD_DATE_SK <=( + SELECT + MAX(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param1}' AS DATE) AND CAST('${param2}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_2.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_2.sql new file mode 100644 index 00000000..c77ccf4a --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_2.sql @@ -0,0 +1,21 @@ +SELECT + WS_ITEM_SK, WS_ORDER_NUMBER +FROM + web_sales +WHERE + WS_SOLD_DATE_SK >=( + SELECT + MIN(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE) + ) + AND WS_SOLD_DATE_SK <=( + SELECT + MAX(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_3.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_3.sql new file mode 100644 index 00000000..c77ccf4a --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_3.sql @@ -0,0 +1,21 @@ +SELECT + WS_ITEM_SK, WS_ORDER_NUMBER +FROM + web_sales +WHERE + WS_SOLD_DATE_SK >=( + SELECT + MIN(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE) + ) + AND WS_SOLD_DATE_SK <=( + SELECT + MAX(D_DATE_SK) + FROM + date_dim + WHERE + D_DATE BETWEEN CAST('${param5}' AS DATE) AND CAST('${param6}' AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_delete.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_delete.sql new file mode 100644 index 00000000..63280a36 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/DF_WS_delete.sql @@ -0,0 +1,2 @@ +DELETE FROM web_sales +WHERE WS_ITEM_SK IN (${WS_ITEM_SK}) AND WS_ORDER_NUMBER IN (${WS_ORDER_NUMBER}); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_1.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_1.sql new file mode 100644 index 00000000..8d87a92e --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_1.sql @@ -0,0 +1,2 @@ +DROP + VIEW IF EXISTS crv_${stream_num}; diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_2.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_2.sql new file mode 100644 index 00000000..47494f66 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_2.sql @@ -0,0 +1,77 @@ +CREATE VIEW crv_${stream_num} AS + SELECT + D_DATE_SK CR_RETURN_DATE_SK + ,T_TIME_SK CR_RETURN_TIME_SK + ,I_ITEM_SK CR_ITEM_SK + ,c1.C_CUSTOMER_SK CR_REFUNDED_CUSTOMER_SK + ,c1.C_CURRENT_CDEMO_SK CR_REFUNDED_CDEMO_SK + ,c1.C_CURRENT_HDEMO_SK CR_REFUNDED_HDEMO_SK + ,c1.C_CURRENT_ADDR_SK CR_REFUNDED_ADDR_SK + ,c2.C_CUSTOMER_SK CR_RETURNING_CUSTOMER_SK + ,c2.C_CURRENT_CDEMO_SK CR_RETURNING_CDEMO_SK + ,c2.C_CURRENT_HDEMO_SK CR_RETURNING_HDEMO_SK + ,c2.C_CURRENT_ADDR_SK CR_RETURNING_ADDR_SK + ,CC_CALL_CENTER_SK CR_CALL_CENTER_SK + ,CP_CATALOG_PAGE_SK CR_CATALOG_PAGE_SK + ,SM_SHIP_MODE_SK CR_SHIP_MODE_SK + ,W_WAREHOUSE_SK CR_WAREHOUSE_SK + ,R_REASON_SK CR_REASON_SK + ,CRET_ORDER_ID CR_ORDER_NUMBER + ,CRET_RETURN_QTY CR_RETURN_QUANTITY + ,CRET_RETURN_AMT CR_RETURN_AMOUNT + ,CRET_RETURN_TAX CR_RETURN_TAX + ,(CRET_RETURN_AMT + CRET_RETURN_TAX) AS CR_RETURN_AMT_INC_TAX + ,CRET_RETURN_FEE CR_FEE + ,CRET_RETURN_SHIP_COST CR_RETURN_SHIP_COST + ,CRET_REFUNDED_CASH CR_REFUNDED_CASH + ,CRET_REVERSED_CHARGE CR_REVERSED_CHARGE + ,CRET_MERCHANT_CREDIT CR_MERCHANT_CREDIT + ,(CRET_RETURN_AMT+CRET_RETURN_TAX+CRET_RETURN_FEE-CRET_REFUNDED_CASH-CRET_REVERSED_CHARGE-CRET_MERCHANT_CREDIT) CR_NET_LOSS, + row_number() over (order by D_DATE_SK, T_TIME_SK, I_ITEM_SK) row_number + FROM + s_catalog_returns_${stream_num} + LEFT OUTER JOIN date_dim ON + ( + CAST(CRET_RETURN_DATE AS DATE)= D_DATE + ) + LEFT OUTER JOIN time_dim ON + ( + (CAST(SUBSTRING(CRET_RETURN_TIME,1,2) AS INTEGER)*3600 + + CAST(SUBSTRING(CRET_RETURN_TIME,4,2) AS INTEGER)*60 + + CAST(SUBSTRING(CRET_RETURN_TIME,7,2) AS INTEGER)) = T_TIME + ) + LEFT OUTER JOIN item ON + ( + CRET_ITEM_ID = I_ITEM_ID + ) + LEFT OUTER JOIN customer c1 ON + ( + CRET_RETURN_CUSTOMER_ID = c1.C_CUSTOMER_ID + ) + LEFT OUTER JOIN customer c2 ON + ( + CRET_REFUND_CUSTOMER_ID = c2.C_CUSTOMER_ID + ) + LEFT OUTER JOIN reason ON + ( + CRET_REASON_ID = R_REASON_ID + ) + LEFT OUTER JOIN call_center ON + ( + CRET_CALL_CENTER_ID = CC_CALL_CENTER_ID + ) + LEFT OUTER JOIN catalog_page ON + ( + CRET_CATALOG_PAGE_ID = CP_CATALOG_PAGE_ID + ) + LEFT OUTER JOIN ship_mode ON + ( + CRET_SHIPMODE_ID = SM_SHIP_MODE_ID + ) + LEFT OUTER JOIN warehouse ON + ( + CRET_WAREHOUSE_ID = W_WAREHOUSE_ID + ) + WHERE + I_REC_END_DATE IS NULL + AND CC_REC_END_DATE IS NULL; diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_3.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_3.sql new file mode 100644 index 00000000..5b539082 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_3.sql @@ -0,0 +1,4 @@ +SELECT + row_number +FROM + crv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_insert.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_insert.sql new file mode 100644 index 00000000..f03c6f0d --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CR_insert.sql @@ -0,0 +1,32 @@ +INSERT INTO catalog_returns + SELECT + CR_RETURN_DATE_SK, + CR_RETURN_TIME_SK, + CR_ITEM_SK, + CR_REFUNDED_CUSTOMER_SK, + CR_REFUNDED_CDEMO_SK, + CR_REFUNDED_HDEMO_SK, + CR_REFUNDED_ADDR_SK, + CR_RETURNING_CUSTOMER_SK, + CR_RETURNING_CDEMO_SK, + CR_RETURNING_HDEMO_SK, + CR_RETURNING_ADDR_SK, + CR_CALL_CENTER_SK, + CR_CATALOG_PAGE_SK, + CR_SHIP_MODE_SK, + CR_WAREHOUSE_SK, + CR_REASON_SK, + CR_ORDER_NUMBER, + CR_RETURN_QUANTITY, + CR_RETURN_AMOUNT, + CR_RETURN_TAX, + CR_RETURN_AMT_INC_TAX, + CR_FEE, + CR_RETURN_SHIP_COST, + CR_REFUNDED_CASH, + CR_REVERSED_CHARGE, + CR_MERCHANT_CREDIT, + CR_NET_LOSS + FROM + crv_${stream_num} + WHERE row_number IN (${row_number}); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_1.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_1.sql new file mode 100644 index 00000000..b275b2f3 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_1.sql @@ -0,0 +1,2 @@ +DROP + VIEW IF EXISTS csv_${stream_num}; diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_2.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_2.sql new file mode 100644 index 00000000..73122a65 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_2.sql @@ -0,0 +1,90 @@ +CREATE + VIEW csv_${stream_num} AS SELECT + d1.D_DATE_SK CS_SOLD_DATE_SK + ,T_TIME_SK CS_SOLD_TIME_SK + ,d2.D_DATE_SK CS_SHIP_DATE_SK + ,c1.C_CUSTOMER_SK CS_BILL_CUSTOMER_SK + ,c1.C_CURRENT_CDEMO_SK CS_BILL_CDEMO_SK + ,c1.C_CURRENT_HDEMO_SK CS_BILL_HDEMO_SK + ,c1.C_CURRENT_ADDR_SK CS_BILL_ADDR_SK + ,c2.C_CUSTOMER_SK CS_SHIP_CUSTOMER_SK + ,c2.C_CURRENT_CDEMO_SK CS_SHIP_CDEMO_SK + ,c2.C_CURRENT_HDEMO_SK CS_SHIP_HDEMO_SK + ,c2.C_CURRENT_ADDR_SK CS_SHIP_ADDR_SK + ,CC_CALL_CENTER_SK CS_CALL_CENTER_SK + ,CP_CATALOG_PAGE_SK CS_CATALOG_PAGE_SK + ,SM_SHIP_MODE_SK CS_SHIP_MODE_SK + ,W_WAREHOUSE_SK CS_WAREHOUSE_SK + ,I_ITEM_SK CS_ITEM_SK + ,P_PROMO_SK CS_PROMO_SK + ,CORD_ORDER_ID CS_ORDER_NUMBER + ,CLIN_QUANTITY CS_QUANTITY + ,I_WHOLESALE_COST CS_WHOLESALE_COST + ,I_CURRENT_PRICE CS_LIST_PRICE + ,CLIN_SALES_PRICE CS_SALES_PRICE + ,(I_CURRENT_PRICE-CLIN_SALES_PRICE)*CLIN_QUANTITY CS_EXT_DISCOUNT_AMT + ,(CLIN_SALES_PRICE * CLIN_QUANTITY) CS_EXT_SALES_PRICE + ,(I_WHOLESALE_COST * CLIN_QUANTITY) CS_EXT_WHOLESALE_COST + ,(I_CURRENT_PRICE * CLIN_QUANTITY) CS_EXT_LIST_PRICE + ,(I_CURRENT_PRICE * CC_TAX_PERCENTAGE) CS_EXT_TAX + ,CLIN_COUPON_AMT CS_COUPON_AMT + ,(CLIN_SHIP_COST * CLIN_QUANTITY) CS_EXT_SHIP_COST + ,(CLIN_SALES_PRICE * CLIN_QUANTITY)-CLIN_COUPON_AMT CS_NET_PAID + ,(((CLIN_SALES_PRICE * CLIN_QUANTITY)-CLIN_COUPON_AMT)*(1+CC_TAX_PERCENTAGE)) CS_NET_PAID_INC_TAX + ,((CLIN_SALES_PRICE * CLIN_QUANTITY)-CLIN_COUPON_AMT + (CLIN_SHIP_COST * CLIN_QUANTITY)) CS_NET_PAID_INC_SHIP + ,((CLIN_SALES_PRICE * CLIN_QUANTITY)-CLIN_COUPON_AMT + (CLIN_SHIP_COST * CLIN_QUANTITY) + I_CURRENT_PRICE * CC_TAX_PERCENTAGE) CS_NET_PAID_INC_SHIP_TAX + ,(((CLIN_SALES_PRICE * CLIN_QUANTITY)-CLIN_COUPON_AMT)-(CLIN_QUANTITY*I_WHOLESALE_COST)) CS_NET_PROFIT, + row_number() over (order by d1.D_DATE_SK, T_TIME_SK, d2.D_DATE_SK) row_number + FROM + s_catalog_order_${stream_num} + LEFT OUTER JOIN date_dim d1 ON + ( + CAST(CORD_ORDER_DATE AS DATE)= d1.D_DATE + ) + LEFT OUTER JOIN time_dim ON + ( + CORD_ORDER_TIME = t_time + ) + LEFT OUTER JOIN customer c1 ON + ( + CORD_BILL_CUSTOMER_ID = c1.C_CUSTOMER_ID + ) + LEFT OUTER JOIN customer c2 ON + ( + CORD_SHIP_CUSTOMER_ID = c2.C_CUSTOMER_ID + ) + LEFT OUTER JOIN call_center ON + ( + CORD_CALL_CENTER_ID = CC_CALL_CENTER_ID + AND CC_REC_END_DATE IS NULL + ) + LEFT OUTER JOIN ship_mode ON + ( + CORD_SHIP_MODE_ID = SM_SHIP_MODE_ID + ) + JOIN s_catalog_order_lineitem_${stream_num} ON + ( + CORD_ORDER_ID = CLIN_ORDER_ID + ) + LEFT OUTER JOIN date_dim d2 ON + ( + CAST(CLIN_SHIP_DATE AS DATE)= d2.D_DATE + ) + LEFT OUTER JOIN catalog_page ON + ( + CLIN_CATALOG_PAGE_NUMBER = CP_CATALOG_PAGE_NUMBER + AND CLIN_CATALOG_NUMBER = CP_CATALOG_NUMBER + ) + LEFT OUTER JOIN warehouse ON + ( + CLIN_WAREHOUSE_ID = W_WAREHOUSE_ID + ) + LEFT OUTER JOIN item ON + ( + CLIN_ITEM_ID = I_ITEM_ID + AND I_REC_END_DATE IS NULL + ) + LEFT OUTER JOIN promotion ON + ( + CLIN_PROMOTION_ID = P_PROMO_ID + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_3.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_3.sql new file mode 100644 index 00000000..4d32af0f --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_3.sql @@ -0,0 +1,4 @@ +SELECT + row_number +FROM + csv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_insert.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_insert.sql new file mode 100644 index 00000000..ca3de597 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_CS_insert.sql @@ -0,0 +1,39 @@ +INSERT INTO catalog_sales + SELECT + CS_SOLD_DATE_SK, + CS_SOLD_TIME_SK, + CS_SHIP_DATE_SK, + CS_BILL_CUSTOMER_SK, + CS_BILL_CDEMO_SK, + CS_BILL_HDEMO_SK, + CS_BILL_ADDR_SK, + CS_SHIP_CUSTOMER_SK, + CS_SHIP_CDEMO_SK, + CS_SHIP_HDEMO_SK, + CS_SHIP_ADDR_SK, + CS_CALL_CENTER_SK, + CS_CATALOG_PAGE_SK, + CS_SHIP_MODE_SK, + CS_WAREHOUSE_SK, + CS_ITEM_SK, + CS_PROMO_SK, + CS_ORDER_NUMBER, + CS_QUANTITY, + CS_WHOLESALE_COST, + CS_LIST_PRICE, + CS_SALES_PRICE, + CS_EXT_DISCOUNT_AMT, + CS_EXT_SALES_PRICE, + CS_EXT_WHOLESALE_COST, + CS_EXT_LIST_PRICE, + CS_EXT_TAX, + CS_COUPON_AMT, + CS_EXT_SHIP_COST, + CS_NET_PAID, + CS_NET_PAID_INC_TAX, + CS_NET_PAID_INC_SHIP, + CS_NET_PAID_INC_SHIP_TAX, + CS_NET_PROFIT + FROM + csv_${stream_num} + WHERE row_number IN (${row_number}); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_1.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_1.sql new file mode 100644 index 00000000..c5cde404 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_1.sql @@ -0,0 +1,2 @@ +DROP + VIEW IF EXISTS iv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_2.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_2.sql new file mode 100644 index 00000000..1f237608 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_2.sql @@ -0,0 +1,22 @@ +CREATE VIEW iv_${stream_num} AS + SELECT + D_DATE_SK INV_DATE_SK, + I_ITEM_SK INV_ITEM_SK, + W_WAREHOUSE_SK INV_WAREHOUSE_SK, + INVN_QTY_ON_HAND INV_QUANTITY_ON_HAND, + row_number() over (order by D_DATE_SK, I_ITEM_SK, W_WAREHOUSE_SK) row_number + FROM + s_inventory_${stream_num} + LEFT OUTER JOIN warehouse ON + ( + INVN_WAREHOUSE_ID = W_WAREHOUSE_ID + ) + LEFT OUTER JOIN item ON + ( + INVN_ITEM_ID = I_ITEM_ID + AND I_REC_END_DATE IS NULL + ) + LEFT OUTER JOIN date_dim ON + ( + D_DATE = CAST(INVN_DATE AS DATE) + ); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_3.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_3.sql new file mode 100644 index 00000000..b4d80c21 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_3.sql @@ -0,0 +1,4 @@ +SELECT + row_number +FROM + iv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_insert.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_insert.sql new file mode 100644 index 00000000..725c74c6 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_I_insert.sql @@ -0,0 +1,9 @@ +INSERT INTO inventory + SELECT + INV_DATE_SK, + INV_ITEM_SK, + INV_WAREHOUSE_SK, + INV_QUANTITY_ON_HAND + FROM + iv_${stream_num} + WHERE row_number IN (${row_number}); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_1.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_1.sql new file mode 100644 index 00000000..7f34f5ab --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_1.sql @@ -0,0 +1,2 @@ +DROP + VIEW IF EXISTS srv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_2.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_2.sql new file mode 100644 index 00000000..9c18fe12 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_2.sql @@ -0,0 +1,42 @@ +CREATE VIEW srv_${stream_num} AS + SELECT + D_DATE_SK SR_RETURNED_DATE_SK + ,T_TIME_SK SR_RETURN_TIME_SK + ,I_ITEM_SK SR_ITEM_SK + ,C_CUSTOMER_SK SR_CUSTOMER_SK + ,C_CURRENT_CDEMO_SK SR_CDEMO_SK + ,C_CURRENT_HDEMO_SK SR_HDEMO_SK + ,C_CURRENT_ADDR_SK SR_ADDR_SK + ,S_STORE_SK SR_STORE_SK + ,R_REASON_SK SR_REASON_SK + ,CAST(SRET_TICKET_NUMBER AS BIGINT) SR_TICKET_NUMBER + ,SRET_RETURN_QTY SR_RETURN_QUANTITY + ,(SRET_RETURN_AMT) SR_RETURN_AMT + ,(SRET_RETURN_TAX) SR_RETURN_TAX + ,(SRET_RETURN_AMT + SRET_RETURN_TAX) SR_RETURN_AMT_INC_TAX + ,(SRET_RETURN_FEE) SR_FEE + ,(SRET_RETURN_SHIP_COST) SR_RETURN_SHIP_COST + ,(SRET_REFUNDED_CASH) SR_REFUNDED_CASH + ,(SRET_REVERSED_CHARGE) SR_REVERSED_CHARGE + ,(SRET_STORE_CREDIT) SR_STORE_CREDIT + ,(SRET_RETURN_AMT+SRET_RETURN_TAX+SRET_RETURN_FEE-SRET_REFUNDED_CASH-SRET_REVERSED_CHARGE-SRET_STORE_CREDIT) SR_NET_LOSS, + row_number() over (order by D_DATE_SK, T_TIME_SK, I_ITEM_SK) row_number + FROM + s_store_returns_${stream_num} + LEFT OUTER JOIN date_dim ON + ( + CAST(SRET_RETURN_DATE AS DATE)= D_DATE + ) + LEFT OUTER JOIN time_dim ON + ( + (CAST(SUBSTRING(SRET_RETURN_TIME,1,2) AS INTEGER)*3600 + +CAST(SUBSTRING(SRET_RETURN_TIME,4,2) AS INTEGER)*60 + +CAST(SUBSTRING(SRET_RETURN_TIME,7,2) AS INTEGER)) = T_TIME + ) + LEFT OUTER JOIN item ON (SRET_ITEM_ID = I_ITEM_ID) + LEFT OUTER JOIN customer ON (SRET_CUSTOMER_ID = C_CUSTOMER_ID) + LEFT OUTER JOIN store ON (SRET_STORE_ID = S_STORE_ID) + LEFT OUTER JOIN reason ON (SRET_REASON_ID = R_REASON_ID) + WHERE + I_REC_END_DATE IS NULL + AND S_REC_END_DATE IS NULL; diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_3.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_3.sql new file mode 100644 index 00000000..4178f3d2 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_3.sql @@ -0,0 +1,4 @@ +SELECT + row_number +FROM + srv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_insert.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_insert.sql new file mode 100644 index 00000000..5b4af18d --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SR_insert.sql @@ -0,0 +1,25 @@ +INSERT INTO store_returns + SELECT + SR_RETURNED_DATE_SK, + SR_RETURN_TIME_SK, + SR_ITEM_SK, + SR_CUSTOMER_SK, + SR_CDEMO_SK, + SR_HDEMO_SK, + SR_ADDR_SK, + SR_STORE_SK, + SR_REASON_SK, + SR_TICKET_NUMBER, + SR_RETURN_QUANTITY, + SR_RETURN_AMT, + SR_RETURN_TAX, + SR_RETURN_AMT_INC_TAX, + SR_FEE, + SR_RETURN_SHIP_COST, + SR_REFUNDED_CASH, + SR_REVERSED_CHARGE, + SR_STORE_CREDIT, + SR_NET_LOSS + FROM + srv_${stream_num} + WHERE row_number IN (${row_number}); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_1.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_1.sql new file mode 100644 index 00000000..c3769a00 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_1.sql @@ -0,0 +1,2 @@ +DROP + VIEW IF EXISTS ssv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_2.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_2.sql new file mode 100644 index 00000000..bb9fd8da --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_2.sql @@ -0,0 +1,39 @@ +CREATE + VIEW ssv_${stream_num} AS SELECT + D_DATE_SK SS_SOLD_DATE_SK, + T_TIME_SK SS_SOLD_TIME_SK, + I_ITEM_SK SS_ITEM_SK, + C_CUSTOMER_SK SS_CUSTOMER_SK, + C_CURRENT_CDEMO_SK SS_CDEMO_SK, + C_CURRENT_HDEMO_SK SS_HDEMO_SK, + C_CURRENT_ADDR_SK SS_ADDR_SK, + S_STORE_SK SS_STORE_SK, + P_PROMO_SK SS_PROMO_SK, + PURC_PURCHASE_ID SS_TICKET_NUMBER, + PLIN_QUANTITY SS_QUANTITY, + (I_WHOLESALE_COST) SS_WHOLESALE_COST, + (I_CURRENT_PRICE) SS_LIST_PRICE, + (PLIN_SALE_PRICE) SS_SALES_PRICE, + ((I_CURRENT_PRICE-PLIN_SALE_PRICE)*PLIN_QUANTITY) SS_EXT_DISCOUNT_AMT, + (PLIN_SALE_PRICE * PLIN_QUANTITY) SS_EXT_SALES_PRICE, + (I_WHOLESALE_COST * PLIN_QUANTITY) SS_EXT_WHOLESALE_COST, + (I_CURRENT_PRICE * PLIN_QUANTITY) SS_EXT_LIST_PRICE, + (I_CURRENT_PRICE * S_TAX_PRECENTAGE) SS_EXT_TAX, + (PLIN_COUPON_AMT) SS_COUPON_AMT, + ((PLIN_SALE_PRICE * PLIN_QUANTITY)-PLIN_COUPON_AMT) SS_NET_PAID, + (((PLIN_SALE_PRICE * PLIN_QUANTITY)-PLIN_COUPON_AMT)*(1+S_TAX_PRECENTAGE)) SS_NET_PAID_INC_TAX, + (((PLIN_SALE_PRICE * PLIN_QUANTITY)-PLIN_COUPON_AMT)-(PLIN_QUANTITY*I_WHOLESALE_COST)) SS_NET_PROFIT, + row_number() over (order by D_DATE_SK, T_TIME_SK, I_ITEM_SK, C_CUSTOMER_SK) row_number + FROM + s_purchase_${stream_num} + LEFT OUTER JOIN customer ON (PURC_CUSTOMER_ID = C_CUSTOMER_ID) + LEFT OUTER JOIN store ON (PURC_STORE_ID = S_STORE_ID) + LEFT OUTER JOIN date_dim ON (CAST(PURC_PURCHASE_DATE AS DATE) = D_DATE) + LEFT OUTER JOIN time_dim ON (PURC_PURCHASE_TIME = T_TIME) + JOIN s_purchase_lineitem_${stream_num} ON (PURC_PURCHASE_ID = PLIN_PURCHASE_ID) + LEFT OUTER JOIN promotion ON PLIN_PROMOTION_ID = P_PROMO_ID + LEFT OUTER JOIN item ON PLIN_ITEM_ID = I_ITEM_ID + WHERE + PURC_PURCHASE_ID = PLIN_PURCHASE_ID + AND I_REC_END_DATE IS NULL + AND S_REC_END_DATE IS NULL; diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_3.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_3.sql new file mode 100644 index 00000000..e37badbb --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_3.sql @@ -0,0 +1,4 @@ +SELECT + row_number +FROM + ssv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_insert.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_insert.sql new file mode 100644 index 00000000..f3757101 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_SS_insert.sql @@ -0,0 +1,28 @@ +INSERT INTO store_sales + SELECT + SS_SOLD_DATE_SK, + SS_SOLD_TIME_SK, + SS_ITEM_SK, + SS_CUSTOMER_SK, + SS_CDEMO_SK, + SS_HDEMO_SK, + SS_ADDR_SK, + SS_STORE_SK, + SS_PROMO_SK, + SS_TICKET_NUMBER, + SS_QUANTITY, + SS_WHOLESALE_COST, + SS_LIST_PRICE, + SS_SALES_PRICE, + SS_EXT_DISCOUNT_AMT, + SS_EXT_SALES_PRICE, + SS_EXT_WHOLESALE_COST, + SS_EXT_LIST_PRICE, + SS_EXT_TAX, + SS_COUPON_AMT, + SS_NET_PAID, + SS_NET_PAID_INC_TAX, + SS_NET_PROFIT + FROM + ssv_${stream_num} + WHERE row_number IN (${row_number}); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_1.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_1.sql new file mode 100644 index 00000000..3d824173 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_1.sql @@ -0,0 +1,2 @@ +DROP + VIEW IF EXISTS wrv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_2.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_2.sql new file mode 100644 index 00000000..f0a80048 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_2.sql @@ -0,0 +1,39 @@ +CREATE + VIEW wrv_${stream_num} AS SELECT + D_DATE_SK WR_RETURN_DATE_SK + ,T_TIME_SK WR_RETURN_TIME_SK + ,I_ITEM_SK WR_ITEM_SK + ,c1.C_CUSTOMER_SK WR_REFUNDED_CUSTOMER_SK + ,c1.C_CURRENT_CDEMO_SK WR_REFUNDED_CDEMO_SK + ,c1.C_CURRENT_HDEMO_SK WR_REFUNDED_HDEMO_SK + ,c1.C_CURRENT_ADDR_SK WR_REFUNDED_ADDR_SK + ,c2.C_CUSTOMER_SK WR_RETURNING_CUSTOMER_SK + ,c2.C_CURRENT_CDEMO_SK WR_RETURNING_CDEMO_SK + ,c2.C_CURRENT_HDEMO_SK WR_RETURNING_HDEMO_SK + ,c2.C_CURRENT_ADDR_SK WR_RETURNING_ADDR_SK + ,WP_WEB_PAGE_SK WR_WEB_PAGE_SK + ,R_REASON_SK WR_REASON_SK + ,WRET_ORDER_ID WR_ORDER_NUMBER + ,WRET_RETURN_QTY WR_RETURN_QUANTITY + ,(WRET_RETURN_AMT) WR_RETURN_AMT + ,(WRET_RETURN_TAX) WR_RETURN_TAX + ,(WRET_RETURN_AMT + WRET_RETURN_TAX) AS WR_RETURN_AMT_INC_TAX + ,(WRET_RETURN_FEE) WR_FEE + ,(WRET_RETURN_SHIP_COST) WR_RETURN_SHIP_COST + ,(WRET_REFUNDED_CASH) WR_REFUNDED_CASH + ,(WRET_REVERSED_CHARGE) WR_REVERSED_CHARGE + ,(WRET_ACCOUNT_CREDIT) WR_ACCOUNT_CREDIT + ,(WRET_RETURN_AMT+WRET_RETURN_TAX+WRET_RETURN_FEE-WRET_REFUNDED_CASH-WRET_REVERSED_CHARGE-WRET_ACCOUNT_CREDIT) WR_NET_LOSS, + row_number() over (order by D_DATE_SK, T_TIME_SK, I_ITEM_SK, c1.C_CUSTOMER_SK) row_number + FROM + s_web_returns_${stream_num} + LEFT OUTER JOIN date_dim ON (CAST(WRET_RETURN_DATE AS DATE) = D_DATE) + LEFT OUTER JOIN time_dim ON ((CAST(SUBSTRING(WRET_RETURN_TIME,1,2) AS INTEGER)*3600 + +CAST(SUBSTRING(WRET_RETURN_TIME,4,2) AS INTEGER)*60+CAST(SUBSTRING(WRET_RETURN_TIME,7,2) AS INTEGER))=T_TIME) + LEFT OUTER JOIN item ON (WRET_ITEM_ID = I_ITEM_ID) + LEFT OUTER JOIN customer c1 ON (WRET_RETURN_CUSTOMER_ID = c1.C_CUSTOMER_ID) + LEFT OUTER JOIN customer c2 ON (WRET_REFUND_CUSTOMER_ID = c2.C_CUSTOMER_ID) + LEFT OUTER JOIN reason ON (WRET_REASON_ID = R_REASON_ID) + LEFT OUTER JOIN web_page ON (WRET_WEB_SITE_ID = WP_WEB_PAGE_ID) + WHERE + I_REC_END_DATE IS NULL AND WP_REC_END_DATE IS NULL; diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_3.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_3.sql new file mode 100644 index 00000000..7c368353 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_3.sql @@ -0,0 +1,4 @@ +SELECT + row_number +FROM + wrv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_insert.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_insert.sql new file mode 100644 index 00000000..2a251d4c --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WR_insert.sql @@ -0,0 +1,30 @@ +INSERT INTO web_returns + SELECT + , + WR_RETURN_DATE_SK,, + WR_RETURN_TIME_SK,, + WR_ITEM_SK,, + WR_REFUNDED_CUSTOMER_SK,, + WR_REFUNDED_CDEMO_SK,, + WR_REFUNDED_HDEMO_SK,, + WR_REFUNDED_ADDR_SK,, + WR_RETURNING_CUSTOMER_SK,, + WR_RETURNING_CDEMO_SK,, + WR_RETURNING_HDEMO_SK,, + WR_RETURNING_ADDR_SK,, + WR_WEB_PAGE_SK,, + WR_REASON_SK,, + WR_ORDER_NUMBER,, + WR_RETURN_QUANTITY,, + WR_RETURN_AMT,, + WR_RETURN_TAX,, + WR_RETURN_AMT_INC_TAX,, + WR_FEE,, + WR_RETURN_SHIP_COST,, + WR_REFUNDED_CASH,, + WR_REVERSED_CHARGE,, + WR_ACCOUNT_CREDIT,, + WR_NET_LOSS + FROM + wrv_${stream_num} + WHERE row_number IN (${row_number}); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_1.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_1.sql new file mode 100644 index 00000000..8cc3d619 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_1.sql @@ -0,0 +1,2 @@ +DROP + VIEW IF EXISTS wsv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_2.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_2.sql new file mode 100644 index 00000000..9896b00d --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_2.sql @@ -0,0 +1,51 @@ +CREATE + VIEW wsv_${stream_num} AS SELECT + d1.D_DATE_SK WS_SOLD_DATE_SK, + T_TIME_SK WS_SOLD_TIME_SK, + d2.D_DATE_SK WS_SHIP_DATE_SK, + I_ITEM_SK WS_ITEM_SK, + c1.C_CUSTOMER_SK WS_BILL_CUSTOMER_SK, + c1.C_CURRENT_CDEMO_SK WS_BILL_CDEMO_SK, + c1.C_CURRENT_HDEMO_SK WS_BILL_HDEMO_SK, + c1.C_CURRENT_ADDR_SK WS_BILL_ADDR_SK, + c2.C_CUSTOMER_SK WS_SHIP_CUSTOMER_SK, + c2.C_CURRENT_CDEMO_SK WS_SHIP_CDEMO_SK, + c2.C_CURRENT_HDEMO_SK WS_SHIP_HDEMO_SK, + c2.C_CURRENT_ADDR_SK WS_SHIP_ADDR_SK, + WP_WEB_PAGE_SK WS_WEB_PAGE_SK, + WEB_SITE_SK WS_WEB_SITE_SK, + SM_SHIP_MODE_SK WS_SHIP_MODE_SK, + W_WAREHOUSE_SK WS_WAREHOUSE_SK, + P_PROMO_SK WS_PROMO_SK, + WORD_ORDER_ID WS_ORDER_NUMBER, + WLIN_QUANTITY WS_QUANTITY, + (I_WHOLESALE_COST) WS_WHOLESALE_COST, + (I_CURRENT_PRICE) WS_LIST_PRICE, + (WLIN_SALES_PRICE) WS_SALES_PRICE, + ((I_CURRENT_PRICE-WLIN_SALES_PRICE)*WLIN_QUANTITY) WS_EXT_DISCOUNT_AMT, + (WLIN_SALES_PRICE * WLIN_QUANTITY) WS_EXT_SALES_PRICE, + (I_WHOLESALE_COST * WLIN_QUANTITY) WS_EXT_WHOLESALE_COST, + (I_CURRENT_PRICE * WLIN_QUANTITY) WS_EXT_LIST_PRICE, + (I_CURRENT_PRICE * WEB_TAX_PERCENTAGE) WS_EXT_TAX, + (WLIN_COUPON_AMT) WS_COUPON_AMT, + (WLIN_SHIP_COST * WLIN_QUANTITY) WS_EXT_SHIP_COST, + ((WLIN_SALES_PRICE * WLIN_QUANTITY)-WLIN_COUPON_AMT) WS_NET_PAID, + (((WLIN_SALES_PRICE * WLIN_QUANTITY)-WLIN_COUPON_AMT)*(1+WEB_TAX_PERCENTAGE)) WS_NET_PAID_INC_TAX, + (((WLIN_SALES_PRICE * WLIN_QUANTITY)-WLIN_COUPON_AMT)-(WLIN_QUANTITY*I_WHOLESALE_COST)) WS_NET_PAID_INC_SHIP, + ((WLIN_SALES_PRICE * WLIN_QUANTITY)-WLIN_COUPON_AMT + (WLIN_SHIP_COST * WLIN_QUANTITY) + I_CURRENT_PRICE * WEB_TAX_PERCENTAGE) WS_NET_PAID_INC_SHIP_TAX, + (((WLIN_SALES_PRICE * WLIN_QUANTITY)-WLIN_COUPON_AMT)-(I_WHOLESALE_COST * WLIN_QUANTITY)) WS_NET_PROFIT, + row_number() over (order by d1.D_DATE_SK, T_TIME_SK, d2.D_DATE_SK, I_ITEM_SK, c1.C_CUSTOMER_SK) row_number + FROM + s_web_order_${stream_num} + LEFT OUTER JOIN date_dim d1 ON (CAST(WORD_ORDER_DATE AS DATE) = d1.D_DATE) + LEFT OUTER JOIN time_dim ON (WORD_ORDER_TIME = T_TIME) + LEFT OUTER JOIN customer c1 ON (WORD_BILL_CUSTOMER_ID = c1.C_CUSTOMER_ID) + LEFT OUTER JOIN customer c2 ON (WORD_SHIP_CUSTOMER_ID = c2.C_CUSTOMER_ID) + LEFT OUTER JOIN web_site ON (WORD_WEB_SITE_ID = WEB_SITE_ID AND WEB_REC_END_DATE IS NULL) + LEFT OUTER JOIN ship_mode ON (WORD_SHIP_MODE_ID = SM_SHIP_MODE_ID) + JOIN s_web_order_lineitem_${stream_num} ON (WORD_ORDER_ID = WLIN_ORDER_ID) + LEFT OUTER JOIN date_dim d2 ON (CAST(WLIN_SHIP_DATE AS DATE) = d2.D_DATE) + LEFT OUTER JOIN item ON (WLIN_ITEM_ID = I_ITEM_ID AND I_REC_END_DATE IS NULL) + LEFT OUTER JOIN web_page ON (WLIN_WEB_PAGE_ID = WP_WEB_PAGE_ID AND WP_REC_END_DATE IS NULL) + LEFT OUTER JOIN warehouse ON (WLIN_WAREHOUSE_ID = W_WAREHOUSE_ID) + LEFT OUTER JOIN promotion ON (WLIN_PROMOTION_ID = P_PROMO_ID); diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_3.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_3.sql new file mode 100644 index 00000000..4aeb5b61 --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_3.sql @@ -0,0 +1,4 @@ +SELECT + row_number +FROM + wsv_${stream_num}; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_insert.sql b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_insert.sql new file mode 100644 index 00000000..93f8844f --- /dev/null +++ b/src/main/resources/scripts/tpcds/data_maintenance_dependent/fabric/LF_WS_insert.sql @@ -0,0 +1,39 @@ +INSERT INTO web_sales + SELECT + WS_SOLD_DATE_SK, + WS_SOLD_TIME_SK, + WS_SHIP_DATE_SK, + WS_ITEM_SK, + WS_BILL_CUSTOMER_SK, + WS_BILL_CDEMO_SK, + WS_BILL_HDEMO_SK, + WS_BILL_ADDR_SK, + WS_SHIP_CUSTOMER_SK, + WS_SHIP_CDEMO_SK, + WS_SHIP_HDEMO_SK, + WS_SHIP_ADDR_SK, + WS_WEB_PAGE_SK, + WS_WEB_SITE_SK, + WS_SHIP_MODE_SK, + WS_WAREHOUSE_SK, + WS_PROMO_SK, + WS_ORDER_NUMBER, + WS_QUANTITY, + WS_WHOLESALE_COST, + WS_LIST_PRICE, + WS_SALES_PRICE, + WS_EXT_DISCOUNT_AMT, + WS_EXT_SALES_PRICE, + WS_EXT_WHOLESALE_COST, + WS_EXT_LIST_PRICE, + WS_EXT_TAX, + WS_COUPON_AMT, + WS_EXT_SHIP_COST, + WS_NET_PAID, + WS_NET_PAID_INC_TAX, + WS_NET_PAID_INC_SHIP, + WS_NET_PAID_INC_SHIP_TAX, + WS_NET_PROFIT + FROM + wsv_${stream_num} + WHERE row_number IN (${row_number}); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/init/fabric/init.sql b/src/main/resources/scripts/tpcds/init/fabric/init.sql new file mode 100644 index 00000000..06c99692 --- /dev/null +++ b/src/main/resources/scripts/tpcds/init/fabric/init.sql @@ -0,0 +1,47 @@ +DROP TABLE IF EXISTS call_center; + +DROP TABLE IF EXISTS catalog_page; + +DROP TABLE IF EXISTS catalog_returns; + +DROP TABLE IF EXISTS catalog_sales; + +DROP TABLE IF EXISTS customer; + +DROP TABLE IF EXISTS customer_address; + +DROP TABLE IF EXISTS customer_demographics; + +DROP TABLE IF EXISTS date_dim; + +DROP TABLE IF EXISTS household_demographics; + +DROP TABLE IF EXISTS income_band; + +DROP TABLE IF EXISTS inventory; + +DROP TABLE IF EXISTS item; + +DROP TABLE IF EXISTS promotion; + +DROP TABLE IF EXISTS reason; + +DROP TABLE IF EXISTS ship_mode; + +DROP TABLE IF EXISTS store; + +DROP TABLE IF EXISTS store_returns; + +DROP TABLE IF EXISTS store_sales; + +DROP TABLE IF EXISTS time_dim; + +DROP TABLE IF EXISTS warehouse; + +DROP TABLE IF EXISTS web_page; + +DROP TABLE IF EXISTS web_returns; + +DROP TABLE IF EXISTS web_sales; + +DROP TABLE IF EXISTS web_site; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/setup_data_maintenance/fabric/ddl-external-tables-refresh.sql b/src/main/resources/scripts/tpcds/setup_data_maintenance/fabric/ddl-external-tables-refresh.sql new file mode 100644 index 00000000..81abd97c --- /dev/null +++ b/src/main/resources/scripts/tpcds/setup_data_maintenance/fabric/ddl-external-tables-refresh.sql @@ -0,0 +1,261 @@ +DROP TABLE IF EXISTS s_purchase_lineitem_${stream_num}; +CREATE TABLE s_purchase_lineitem_${stream_num} +( + PLIN_PURCHASE_ID INTEGER , + PLIN_LINE_NUMBER INTEGER , + PLIN_ITEM_ID CHAR(16) , + PLIN_PROMOTION_ID CHAR(16) , + PLIN_QUANTITY BIGINT , + PLIN_SALE_PRICE DECIMAL(7,2) , + PLIN_COUPON_AMT DECIMAL(7,2) , + PLIN_COMMENT VARCHAR(100) +); + +COPY INTO +s_purchase_lineitem_${stream_num} +FROM '${external_catalog_base_url}/refresh_data/s_purchase_lineitem/s_purchase_lineitem_${stream_num}.csv' +WITH ( +FILE_TYPE = 'Csv', +CREDENTIAL = (IDENTITY = 'Shared Access Signature', +SECRET='${external_catalog_secret_token}')); + +---------------------------------------------------------------------------------------------------------------------------------------------------------- + +DROP TABLE IF EXISTS s_catalog_order_${stream_num}; +CREATE TABLE s_catalog_order_${stream_num} +( + CORD_ORDER_ID INTEGER , + CORD_BILL_CUSTOMER_ID CHAR(16) , + CORD_SHIP_CUSTOMER_ID CHAR(16) , + CORD_ORDER_DATE CHAR(10) , + CORD_ORDER_TIME INTEGER , + CORD_SHIP_MODE_ID CHAR(16) , + CORD_CALL_CENTER_ID CHAR(16) , + CORD_ORDER_COMMENTS VARCHAR(100) +); + +COPY INTO +s_catalog_order_${stream_num} +FROM '${external_catalog_base_url}/refresh_data/s_catalog_order/s_catalog_order_${stream_num}.csv' +WITH ( +FILE_TYPE = 'Csv', +CREDENTIAL = (IDENTITY = 'Shared Access Signature', +SECRET='${external_catalog_secret_token}')); + +---------------------------------------------------------------------------------------------------------------------------------------------------------- + +DROP TABLE IF EXISTS s_catalog_order_lineitem_${stream_num}; +CREATE TABLE s_catalog_order_lineitem_${stream_num} +( + CLIN_ORDER_ID INTEGER , + CLIN_LINE_NUMBER INTEGER , + CLIN_ITEM_ID CHAR(16) , + CLIN_PROMOTION_ID CHAR(16) , + CLIN_QUANTITY BIGINT , + CLIN_SALES_PRICE DECIMAL(7,2) , + CLIN_COUPON_AMT DECIMAL(7,2) , + CLIN_WAREHOUSE_ID CHAR(16) , + CLIN_SHIP_DATE CHAR(10) , + CLIN_CATALOG_NUMBER INTEGER , + CLIN_CATALOG_PAGE_NUMBER INTEGER , + CLIN_SHIP_COST DECIMAL(7,2) +); + +COPY INTO +s_catalog_order_lineitem_${stream_num} +FROM '${external_catalog_base_url}/refresh_data/s_catalog_order_lineitem/s_catalog_order_lineitem_${stream_num}.csv' +WITH ( +FILE_TYPE = 'Csv', +CREDENTIAL = (IDENTITY = 'Shared Access Signature', +SECRET='${external_catalog_secret_token}')); + +---------------------------------------------------------------------------------------------------------------------------------------------------------- + +DROP TABLE IF EXISTS s_catalog_returns_${stream_num}; +CREATE TABLE s_catalog_returns_${stream_num} +( + CRET_CALL_CENTER_ID CHAR(16) , + CRET_ORDER_ID INTEGER , + CRET_LINE_NUMBER INTEGER , + CRET_ITEM_ID CHAR(16) , + CRET_RETURN_CUSTOMER_ID CHAR(16) , + CRET_REFUND_CUSTOMER_ID CHAR(16) , + CRET_RETURN_DATE CHAR(10) , + CRET_RETURN_TIME CHAR(10) , + CRET_RETURN_QTY INTEGER , + CRET_RETURN_AMT DECIMAL(7,2) , + CRET_RETURN_TAX DECIMAL(7,2) , + CRET_RETURN_FEE DECIMAL(7,2) , + CRET_RETURN_SHIP_COST DECIMAL(7,2) , + CRET_REFUNDED_CASH DECIMAL(7,2) , + CRET_REVERSED_CHARGE DECIMAL(7,2) , + CRET_MERCHANT_CREDIT DECIMAL(7,2) , + CRET_REASON_ID CHAR(16) , + CRET_SHIPMODE_ID CHAR(16) , + CRET_CATALOG_PAGE_ID CHAR(16) , + CRET_WAREHOUSE_ID CHAR(16) +); + +COPY INTO +s_catalog_returns_${stream_num} +FROM '${external_catalog_base_url}/refresh_data/s_catalog_returns/s_catalog_returns_${stream_num}.csv' +WITH ( +FILE_TYPE = 'Csv', +CREDENTIAL = (IDENTITY = 'Shared Access Signature', +SECRET='${external_catalog_secret_token}')); + +---------------------------------------------------------------------------------------------------------------------------------------------------------- + +DROP TABLE IF EXISTS s_inventory_${stream_num}; +CREATE TABLE s_inventory_${stream_num} +( + INVN_WAREHOUSE_ID CHAR(16) , + INVN_ITEM_ID CHAR(16) , + INVN_DATE CHAR(10) , + INVN_QTY_ON_HAND INTEGER +); + +COPY INTO +s_inventory_${stream_num} +FROM '${external_catalog_base_url}/refresh_data/s_inventory/s_inventory_${stream_num}.csv' +WITH ( +FILE_TYPE = 'Csv', +CREDENTIAL = (IDENTITY = 'Shared Access Signature', +SECRET='${external_catalog_secret_token}')); + +---------------------------------------------------------------------------------------------------------------------------------------------------------- + +DROP TABLE IF EXISTS s_store_returns_${stream_num}; +CREATE TABLE s_store_returns_${stream_num} +( + SRET_STORE_ID CHAR(16) , + SRET_PURCHASE_ID CHAR(16) , + SRET_LINE_NUMBER INTEGER , + SRET_ITEM_ID CHAR(16) , + SRET_CUSTOMER_ID CHAR(16) , + SRET_RETURN_DATE CHAR(10) , + SRET_RETURN_TIME CHAR(10) , + SRET_TICKET_NUMBER CHAR(20) , + SRET_RETURN_QTY INTEGER , + SRET_RETURN_AMT DECIMAL(7,2) , + SRET_RETURN_TAX DECIMAL(7,2) , + SRET_RETURN_FEE DECIMAL(7,2) , + SRET_RETURN_SHIP_COST DECIMAL(7,2) , + SRET_REFUNDED_CASH DECIMAL(7,2) , + SRET_REVERSED_CHARGE DECIMAL(7,2) , + SRET_STORE_CREDIT DECIMAL(7,2) , + SRET_REASON_ID CHAR(16) +); + +COPY INTO +s_store_returns_${stream_num} +FROM '${external_catalog_base_url}/refresh_data/s_store_returns/s_store_returns_${stream_num}.csv' +WITH ( +FILE_TYPE = 'Csv', +CREDENTIAL = (IDENTITY = 'Shared Access Signature', +SECRET='${external_catalog_secret_token}')); + +---------------------------------------------------------------------------------------------------------------------------------------------------------- + +DROP TABLE IF EXISTS s_purchase_${stream_num}; +CREATE TABLE s_purchase_${stream_num} +( + PURC_PURCHASE_ID INTEGER , + PURC_STORE_ID CHAR(16) , + PURC_CUSTOMER_ID CHAR(16) , + PURC_PURCHASE_DATE CHAR(10) , + PURC_PURCHASE_TIME INTEGER , + PURC_REGISTER_ID INTEGER , + PURC_CLERK_ID INTEGER , + PURC_COMMENT CHAR(100) +); + + +COPY INTO +s_purchase_${stream_num} +FROM '${external_catalog_base_url}/refresh_data/s_purchase/s_purchase_${stream_num}.csv' +WITH ( +FILE_TYPE = 'Csv', +CREDENTIAL = (IDENTITY = 'Shared Access Signature', +SECRET='${external_catalog_secret_token}')); + +---------------------------------------------------------------------------------------------------------------------------------------------------------- + +DROP TABLE IF EXISTS s_web_returns_${stream_num}; +CREATE TABLE s_web_returns_${stream_num} +( + WRET_WEB_SITE_ID CHAR(16) , + WRET_ORDER_ID INTEGER , + WRET_LINE_NUMBER INTEGER , + WRET_ITEM_ID CHAR(16) , + WRET_RETURN_CUSTOMER_ID CHAR(16) , + WRET_REFUND_CUSTOMER_ID CHAR(16) , + WRET_RETURN_DATE CHAR(10) , + WRET_RETURN_TIME CHAR(10) , + WRET_RETURN_QTY INTEGER , + WRET_RETURN_AMT DECIMAL(7,2) , + WRET_RETURN_TAX DECIMAL(7,2) , + WRET_RETURN_FEE DECIMAL(7,2) , + WRET_RETURN_SHIP_COST DECIMAL(7,2) , + WRET_REFUNDED_CASH DECIMAL(7,2) , + WRET_REVERSED_CHARGE DECIMAL(7,2) , + WRET_ACCOUNT_CREDIT DECIMAL(7,2) , + WRET_REASON_ID CHAR(16) +); + +COPY INTO +s_web_returns_${stream_num} +FROM '${external_catalog_base_url}/refresh_data/s_web_returns/s_web_returns_${stream_num}.csv' +WITH ( +FILE_TYPE = 'Csv', +CREDENTIAL = (IDENTITY = 'Shared Access Signature', +SECRET='${external_catalog_secret_token}')); + +---------------------------------------------------------------------------------------------------------------------------------------------------------- + +DROP TABLE IF EXISTS s_web_order_${stream_num}; +CREATE TABLE s_web_order_${stream_num} +( + WORD_ORDER_ID INTEGER , + WORD_BILL_CUSTOMER_ID CHAR(16) , + WORD_SHIP_CUSTOMER_ID CHAR(16) , + WORD_ORDER_DATE CHAR(10) , + WORD_ORDER_TIME INTEGER , + WORD_SHIP_MODE_ID CHAR(16) , + WORD_WEB_SITE_ID CHAR(16) , + WORD_ORDER_COMMENTS CHAR(100) +); + +COPY INTO +s_web_order_${stream_num} +FROM '${external_catalog_base_url}/refresh_data/s_web_order/s_web_order_${stream_num}.csv' +WITH ( +FILE_TYPE = 'Csv', +CREDENTIAL = (IDENTITY = 'Shared Access Signature', +SECRET='${external_catalog_secret_token}')); + +---------------------------------------------------------------------------------------------------------------------------------------------------------- + +DROP TABLE IF EXISTS s_web_order_lineitem_${stream_num}; +CREATE TABLE s_web_order_lineitem_${stream_num} +( + WLIN_ORDER_ID INTEGER , + WLIN_LINE_NUMBER INTEGER , + WLIN_ITEM_ID CHAR(16) , + WLIN_PROMOTION_ID CHAR(16) , + WLIN_QUANTITY BIGINT , + WLIN_SALES_PRICE DECIMAL(7,2) , + WLIN_COUPON_AMT DECIMAL(7,2) , + WLIN_WAREHOUSE_ID CHAR(16) , + WLIN_SHIP_DATE CHAR(10) , + WLIN_SHIP_COST DECIMAL(7,2) , + WLIN_WEB_PAGE_ID CHAR(16) +); + +COPY INTO +s_web_order_lineitem_${stream_num} +FROM '${external_catalog_base_url}/refresh_data/s_web_order_lineitem/s_web_order_lineitem_${stream_num}.csv' +WITH ( +FILE_TYPE = 'Csv', +CREDENTIAL = (IDENTITY = 'Shared Access Signature', +SECRET='${external_catalog_secret_token}')); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query1.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query1.sql new file mode 100644 index 00000000..d32098a1 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query1.sql @@ -0,0 +1,24 @@ +with customer_total_return as ( + select SR_CUSTOMER_SK as ctr_customer_sk, + SR_STORE_SK as ctr_store_sk, + sum(SR_RETURN_AMT) as ctr_total_return + from store_returns, + date_dim + where SR_RETURNED_DATE_SK = D_DATE_SK + and D_YEAR = 1999 + group by SR_CUSTOMER_SK, + SR_STORE_SK +) +select top 100 C_CUSTOMER_ID +from customer_total_return ctr1, + store, + customer +where ctr1.ctr_total_return > ( + select avg(ctr_total_return) * 1.2 + from customer_total_return ctr2 + where ctr1.ctr_store_sk = ctr2.ctr_store_sk + ) + and S_STORE_SK = ctr1.ctr_store_sk + and S_STATE = 'TN' + and ctr1.ctr_customer_sk = C_CUSTOMER_SK +order by C_CUSTOMER_ID option (label = 'TPCDS-Q1'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query10.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query10.sql new file mode 100644 index 00000000..ae95c723 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query10.sql @@ -0,0 +1,71 @@ +select top 100 CD_GENDER, + CD_MARITAL_STATUS, + CD_EDUCATION_STATUS, + count(*) cnt1, + CD_PURCHASE_ESTIMATE, + count(*) cnt2, + CD_CREDIT_RATING, + count(*) cnt3, + CD_DEP_COUNT, + count(*) cnt4, + CD_DEP_EMPLOYED_COUNT, + count(*) cnt5, + CD_DEP_COLLEGE_COUNT, + count(*) cnt6 +from customer c, + customer_address ca, + customer_demographics +where c.C_CURRENT_ADDR_SK = ca.CA_ADDRESS_SK + and CA_COUNTY in ( + 'Nuckolls County', + 'Bullitt County', + 'Franklin County', + 'Las Animas County', + 'Lawrence County' + ) + and CD_DEMO_SK = c.C_CURRENT_CDEMO_SK + and exists ( + select * + from store_sales, + date_dim + where c.C_CUSTOMER_SK = SS_CUSTOMER_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2001 + and D_MOY between 2 and 2 + 3 + ) + and ( + exists ( + select * + from web_sales, + date_dim + where c.C_CUSTOMER_SK = WS_BILL_CUSTOMER_SK + and WS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2001 + and D_MOY between 2 ANd 2 + 3 + ) + or exists ( + select * + from catalog_sales, + date_dim + where c.C_CUSTOMER_SK = CS_SHIP_CUSTOMER_SK + and CS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2001 + and D_MOY between 2 and 2 + 3 + ) + ) +group by CD_GENDER, + CD_MARITAL_STATUS, + CD_EDUCATION_STATUS, + CD_PURCHASE_ESTIMATE, + CD_CREDIT_RATING, + CD_DEP_COUNT, + CD_DEP_EMPLOYED_COUNT, + CD_DEP_COLLEGE_COUNT +order by CD_GENDER, + CD_MARITAL_STATUS, + CD_EDUCATION_STATUS, + CD_PURCHASE_ESTIMATE, + CD_CREDIT_RATING, + CD_DEP_COUNT, + CD_DEP_EMPLOYED_COUNT, + CD_DEP_COLLEGE_COUNT option (label = 'TPCDS-Q10'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query11.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query11.sql new file mode 100644 index 00000000..8c7075ad --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query11.sql @@ -0,0 +1,81 @@ +with year_total as ( + select C_CUSTOMER_ID customer_id, + C_FIRST_NAME customer_first_name, + C_LAST_NAME customer_last_name, + C_PREFERRED_CUST_FLAG customer_preferred_cust_flag, + C_BIRTH_COUNTRY customer_birth_country, + C_LOGIN customer_login, + C_EMAIL_ADDRESS customer_email_address, + D_YEAR dyear, + sum(SS_EXT_LIST_PRICE - SS_EXT_DISCOUNT_AMT) year_total, + 's' sale_type + from customer, + store_sales, + date_dim + where C_CUSTOMER_SK = SS_CUSTOMER_SK + and SS_SOLD_DATE_SK = D_DATE_SK + group by C_CUSTOMER_ID, + C_FIRST_NAME, + C_LAST_NAME, + C_PREFERRED_CUST_FLAG, + C_BIRTH_COUNTRY, + C_LOGIN, + C_EMAIL_ADDRESS, + D_YEAR + union all + select C_CUSTOMER_ID customer_id, + C_FIRST_NAME customer_first_name, + C_LAST_NAME customer_last_name, + C_PREFERRED_CUST_FLAG customer_preferred_cust_flag, + C_BIRTH_COUNTRY customer_birth_country, + C_LOGIN customer_login, + C_EMAIL_ADDRESS customer_email_address, + D_YEAR dyear, + sum(WS_EXT_LIST_PRICE - WS_EXT_DISCOUNT_AMT) year_total, + 'w' sale_type + from customer, + web_sales, + date_dim + where C_CUSTOMER_SK = WS_BILL_CUSTOMER_SK + and WS_SOLD_DATE_SK = D_DATE_SK + group by C_CUSTOMER_ID, + C_FIRST_NAME, + C_LAST_NAME, + C_PREFERRED_CUST_FLAG, + C_BIRTH_COUNTRY, + C_LOGIN, + C_EMAIL_ADDRESS, + D_YEAR +) +select top 100 t_s_secyear.customer_id, + t_s_secyear.customer_first_name, + t_s_secyear.customer_last_name, + t_s_secyear.customer_login +from year_total t_s_firstyear, + year_total t_s_secyear, + year_total t_w_firstyear, + year_total t_w_secyear +where t_s_secyear.customer_id = t_s_firstyear.customer_id + and t_s_firstyear.customer_id = t_w_secyear.customer_id + and t_s_firstyear.customer_id = t_w_firstyear.customer_id + and t_s_firstyear.sale_type = 's' + and t_w_firstyear.sale_type = 'w' + and t_s_secyear.sale_type = 's' + and t_w_secyear.sale_type = 'w' + and t_s_firstyear.dyear = 1999 + and t_s_secyear.dyear = 1999 + 1 + and t_w_firstyear.dyear = 1999 + and t_w_secyear.dyear = 1999 + 1 + and t_s_firstyear.year_total > 0 + and t_w_firstyear.year_total > 0 + and case + when t_w_firstyear.year_total > 0 then t_w_secyear.year_total / t_w_firstyear.year_total + else 0.0 + end > case + when t_s_firstyear.year_total > 0 then t_s_secyear.year_total / t_s_firstyear.year_total + else 0.0 + end +order by t_s_secyear.customer_id, + t_s_secyear.customer_first_name, + t_s_secyear.customer_last_name, + t_s_secyear.customer_login option (label = 'TPCDS-Q11'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query12.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query12.sql new file mode 100644 index 00000000..cae46966 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query12.sql @@ -0,0 +1,25 @@ +select top 100 I_ITEM_ID, + I_ITEM_DESC, + I_CATEGORY, + I_CLASS, + I_CURRENT_PRICE, + sum(WS_EXT_SALES_PRICE) as itemrevenue, + sum(WS_EXT_SALES_PRICE) * 100 / sum(sum(WS_EXT_SALES_PRICE)) over (partition by I_CLASS) as revenueratio +from web_sales, + item, + date_dim +where WS_ITEM_SK = I_ITEM_SK + and I_CATEGORY in ('Jewelry', 'Men', 'Electronics') + and WS_SOLD_DATE_SK = D_DATE_SK + and D_DATE between cast('1999-03-09' as date) + and dateadd(day, 30, (cast('1999-03-09' as date))) +group by I_ITEM_ID, + I_ITEM_DESC, + I_CATEGORY, + I_CLASS, + I_CURRENT_PRICE +order by I_CATEGORY, + I_CLASS, + I_ITEM_ID, + I_ITEM_DESC, + revenueratio option (label = 'TPCDS-Q12'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query13.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query13.sql new file mode 100644 index 00000000..01e1618d --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query13.sql @@ -0,0 +1,59 @@ +select avg(SS_QUANTITY), + avg(SS_EXT_SALES_PRICE), + avg(SS_EXT_WHOLESALE_COST), + sum(SS_EXT_WHOLESALE_COST) +from store_sales, + store, + customer_demographics, + household_demographics, + customer_address, + date_dim +where S_STORE_SK = SS_STORE_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2001 + and( + ( + SS_HDEMO_SK = HD_DEMO_SK + and CD_DEMO_SK = SS_CDEMO_SK + and CD_MARITAL_STATUS = 'S' + and CD_EDUCATION_STATUS = 'College' + and SS_SALES_PRICE between 100.00 and 150.00 + and HD_DEP_COUNT = 3 + ) + or ( + SS_HDEMO_SK = HD_DEMO_SK + and CD_DEMO_SK = SS_CDEMO_SK + and CD_MARITAL_STATUS = 'D' + and CD_EDUCATION_STATUS = '4 yr Degree' + and SS_SALES_PRICE between 50.00 and 100.00 + and HD_DEP_COUNT = 1 + ) + or ( + SS_HDEMO_SK = HD_DEMO_SK + and CD_DEMO_SK = SS_CDEMO_SK + and CD_MARITAL_STATUS = 'M' + and CD_EDUCATION_STATUS = 'Unknown' + and SS_SALES_PRICE between 150.00 and 200.00 + and HD_DEP_COUNT = 1 + ) + ) + and( + ( + SS_ADDR_SK = CA_ADDRESS_SK + and CA_COUNTRY = 'United States' + and CA_STATE in ('MO', 'WI', 'SC') + and SS_NET_PROFIT between 100 and 200 + ) + or ( + SS_ADDR_SK = CA_ADDRESS_SK + and CA_COUNTRY = 'United States' + and CA_STATE in ('AL', 'CO', 'TX') + and SS_NET_PROFIT between 150 and 300 + ) + or ( + SS_ADDR_SK = CA_ADDRESS_SK + and CA_COUNTRY = 'United States' + and CA_STATE in ('MI', 'LA', 'PA') + and SS_NET_PROFIT between 50 and 250 + ) + ) option (label = 'TPCDS-Q13'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query14.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query14.sql new file mode 100644 index 00000000..8e9e84ea --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query14.sql @@ -0,0 +1,150 @@ +with cross_items as ( + select I_ITEM_SK SS_ITEM_SK + from item, + ( + select iss.I_BRAND_ID brand_id, + iss.I_CLASS_ID class_id, + iss.I_CATEGORY_ID category_id + from store_sales, + item iss, + date_dim d1 + where SS_ITEM_SK = iss.I_ITEM_SK + and SS_SOLD_DATE_SK = d1.D_DATE_SK + and d1.D_YEAR between 1999 AND 1999 + 2 + intersect + select ics.I_BRAND_ID, + ics.I_CLASS_ID, + ics.I_CATEGORY_ID + from catalog_sales, + item ics, + date_dim d2 + where CS_ITEM_SK = ics.I_ITEM_SK + and CS_SOLD_DATE_SK = d2.D_DATE_SK + and d2.D_YEAR between 1999 AND 1999 + 2 + intersect + select iws.I_BRAND_ID, + iws.I_CLASS_ID, + iws.I_CATEGORY_ID + from web_sales, + item iws, + date_dim d3 + where WS_ITEM_SK = iws.I_ITEM_SK + and WS_SOLD_DATE_SK = d3.D_DATE_SK + and d3.D_YEAR between 1999 AND 1999 + 2 + ) as x + where I_BRAND_ID = brand_id + and I_CLASS_ID = class_id + and I_CATEGORY_ID = category_id +), +avg_sales as ( + select avg(quantity * list_price) average_sales + from ( + select SS_QUANTITY quantity, + SS_LIST_PRICE list_price + from store_sales, + date_dim + where SS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR between 1999 and 1999 + 2 + union all + select CS_QUANTITY quantity, + CS_LIST_PRICE list_price + from catalog_sales, + date_dim + where CS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR between 1999 and 1999 + 2 + union all + select WS_QUANTITY quantity, + WS_LIST_PRICE list_price + from web_sales, + date_dim + where WS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR between 1999 and 1999 + 2 + ) x +) +select top 100 channel, + I_BRAND_ID, + I_CLASS_ID, + I_CATEGORY_ID, + sum(sales), + sum(number_sales) +from( + select 'store' channel, + I_BRAND_ID, + I_CLASS_ID, + I_CATEGORY_ID, + sum(SS_QUANTITY * SS_LIST_PRICE) sales, + count(*) number_sales + from store_sales, + item, + date_dim + where SS_ITEM_SK in ( + select SS_ITEM_SK + from cross_items + ) + and SS_ITEM_SK = I_ITEM_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 1999 + 2 + and D_MOY = 11 + group by I_BRAND_ID, + I_CLASS_ID, + I_CATEGORY_ID + having sum(SS_QUANTITY * SS_LIST_PRICE) > ( + select average_sales + from avg_sales + ) + union all + select 'catalog' channel, + I_BRAND_ID, + I_CLASS_ID, + I_CATEGORY_ID, + sum(CS_QUANTITY * CS_LIST_PRICE) sales, + count(*) number_sales + from catalog_sales, + item, + date_dim + where CS_ITEM_SK in ( + select SS_ITEM_SK + from cross_items + ) + and CS_ITEM_SK = I_ITEM_SK + and CS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 1999 + 2 + and D_MOY = 11 + group by I_BRAND_ID, + I_CLASS_ID, + I_CATEGORY_ID + having sum(CS_QUANTITY * CS_LIST_PRICE) > ( + select average_sales + from avg_sales + ) + union all + select 'web' channel, + I_BRAND_ID, + I_CLASS_ID, + I_CATEGORY_ID, + sum(WS_QUANTITY * WS_LIST_PRICE) sales, + count(*) number_sales + from web_sales, + item, + date_dim + where WS_ITEM_SK in ( + select SS_ITEM_SK + from cross_items + ) + and WS_ITEM_SK = I_ITEM_SK + and WS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 1999 + 2 + and D_MOY = 11 + group by I_BRAND_ID, + I_CLASS_ID, + I_CATEGORY_ID + having sum(WS_QUANTITY * WS_LIST_PRICE) > ( + select average_sales + from avg_sales + ) + ) y +group by rollup (channel, I_BRAND_ID, I_CLASS_ID, I_CATEGORY_ID) +order by channel, + I_BRAND_ID, + I_CLASS_ID, + I_CATEGORY_ID option (label = 'TPCDS-Q14a'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query15.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query15.sql new file mode 100644 index 00000000..7545aaaf --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query15.sql @@ -0,0 +1,28 @@ +select top 100 CA_ZIP, + sum(CS_SALES_PRICE) +from catalog_sales, + customer, + customer_address, + date_dim +where CS_BILL_CUSTOMER_SK = C_CUSTOMER_SK + and C_CURRENT_ADDR_SK = CA_ADDRESS_SK + and ( + substring(CA_ZIP, 1, 5) in ( + '85669', + '86197', + '88274', + '83405', + '86475', + '85392', + '85460', + '80348', + '81792' + ) + or CA_STATE in ('CA', 'WA', 'GA') + or CS_SALES_PRICE > 500 + ) + and CS_SOLD_DATE_SK = D_DATE_SK + and D_QOY = 1 + and D_YEAR = 1999 +group by CA_ZIP +order by CA_ZIP; \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query16.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query16.sql new file mode 100644 index 00000000..210f780c --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query16.sql @@ -0,0 +1,31 @@ +select top 100 count(distinct CS_ORDER_NUMBER) as "order count", + sum(CS_EXT_SHIP_COST) as "total shipping cost", + sum(CS_NET_PROFIT) as "total net profit" +from catalog_sales cs1, + date_dim, + customer_address, + call_center +where D_DATE between '2001-4-01' and dateadd(day, 60, (cast('2001-4-01' as date))) + and cs1.CS_SHIP_DATE_SK = D_DATE_SK + and cs1.CS_SHIP_ADDR_SK = CA_ADDRESS_SK + and CA_STATE = 'WI' + and cs1.CS_CALL_CENTER_SK = CC_CALL_CENTER_SK + and CC_COUNTY in ( + 'Williamson County', + 'Walker County', + 'Ziebach County', + 'Williamson County', + 'Ziebach County' + ) + and exists ( + select * + from catalog_sales cs2 + where cs1.CS_ORDER_NUMBER = cs2.CS_ORDER_NUMBER + and cs1.CS_WAREHOUSE_SK <> cs2.CS_WAREHOUSE_SK + ) + and not exists( + select * + from catalog_returns cr1 + where cs1.CS_ORDER_NUMBER = cr1.CR_ORDER_NUMBER + ) +order by count(distinct CS_ORDER_NUMBER) option (label = 'TPCDS-Q16'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query17.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query17.sql new file mode 100644 index 00000000..1c4b93fa --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query17.sql @@ -0,0 +1,42 @@ +select top 100 I_ITEM_ID, + I_ITEM_DESC, + S_STATE, + count(SS_QUANTITY) as store_sales_quantitycount, + avg(SS_QUANTITY) as store_sales_quantityave, + stdev(SS_QUANTITY) as store_sales_quantitystdev, + stdev(SS_QUANTITY) / avg(SS_QUANTITY) as store_sales_quantitycov, + count(SR_RETURN_QUANTITY) as store_returns_quantitycount, + avg(SR_RETURN_QUANTITY) as store_returns_quantityave, + stdev(SR_RETURN_QUANTITY) as store_returns_quantitystdev, + stdev(SR_RETURN_QUANTITY) / avg(SR_RETURN_QUANTITY) as store_returns_quantitycov, + count(CS_QUANTITY) as catalog_sales_quantitycount, + avg(CS_QUANTITY) as catalog_sales_quantityave, + stdev(CS_QUANTITY) as catalog_sales_quantitystdev, + stdev(CS_QUANTITY) / avg(CS_QUANTITY) as catalog_sales_quantitycov +from store_sales, + store_returns, + catalog_sales, + date_dim d1, + date_dim d2, + date_dim d3, + store, + item +where d1.D_QUARTER_NAME = '2000Q1' + and d1.D_DATE_SK = SS_SOLD_DATE_SK + and I_ITEM_SK = SS_ITEM_SK + and S_STORE_SK = SS_STORE_SK + and SS_CUSTOMER_SK = SR_CUSTOMER_SK + and SS_ITEM_SK = SR_ITEM_SK + and SS_TICKET_NUMBER = SR_TICKET_NUMBER + and SR_RETURNED_DATE_SK = d2.D_DATE_SK + and d2.D_QUARTER_NAME in ('2000Q1', '2000Q2', '2000Q3') + and SR_CUSTOMER_SK = CS_BILL_CUSTOMER_SK + and SR_ITEM_SK = CS_ITEM_SK + and CS_SOLD_DATE_SK = d3.D_DATE_SK + and d3.D_QUARTER_NAME in ('2000Q1', '2000Q2', '2000Q3') +group by I_ITEM_ID, + I_ITEM_DESC, + S_STATE +order by I_ITEM_ID, + I_ITEM_DESC, + S_STATE option (label = 'TPCDS-Q17'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query18.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query18.sql new file mode 100644 index 00000000..7c72bbca --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query18.sql @@ -0,0 +1,42 @@ +select top 100 I_ITEM_ID, + CA_COUNTRY, + CA_STATE, + CA_COUNTY, + avg(cast(CS_QUANTITY as decimal(12, 2))) agg1, + avg(cast(CS_LIST_PRICE as decimal(12, 2))) agg2, + avg(cast(CS_COUPON_AMT as decimal(12, 2))) agg3, + avg(cast(CS_SALES_PRICE as decimal(12, 2))) agg4, + avg(cast(CS_NET_PROFIT as decimal(12, 2))) agg5, + avg(cast(C_BIRTH_YEAR as decimal(12, 2))) agg6, + avg(cast(cd1.CD_DEP_COUNT as decimal(12, 2))) agg7 +from catalog_sales, + customer_demographics cd1, + customer_demographics cd2, + customer, + customer_address, + date_dim, + item +where CS_SOLD_DATE_SK = D_DATE_SK + and CS_ITEM_SK = I_ITEM_SK + and CS_BILL_CDEMO_SK = cd1.CD_DEMO_SK + and CS_BILL_CUSTOMER_SK = C_CUSTOMER_SK + and cd1.CD_GENDER = 'M' + and cd1.CD_EDUCATION_STATUS = '4 yr Degree' + and C_CURRENT_CDEMO_SK = cd2.CD_DEMO_SK + and C_CURRENT_ADDR_SK = CA_ADDRESS_SK + and C_BIRTH_MONTH in (10, 2, 2, 8, 4, 4) + and D_YEAR = 2002 + and CA_STATE in ( + 'MO', + 'OK', + 'GA', + 'MD', + 'KY', + 'OR', + 'MT' + ) +group by rollup (I_ITEM_ID, CA_COUNTRY, CA_STATE, CA_COUNTY) +order by CA_COUNTRY, + CA_STATE, + CA_COUNTY, + I_ITEM_ID option (label = 'TPCDS-Q18'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query19.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query19.sql new file mode 100644 index 00000000..cee607dc --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query19.sql @@ -0,0 +1,29 @@ +select top 100 I_BRAND_ID brand_id, + I_BRAND brand, + I_MANUFACT_ID, + I_MANUFACT, + sum(SS_EXT_SALES_PRICE) ext_price +from date_dim, + store_sales, + item, + customer, + customer_address, + store +where D_DATE_SK = SS_SOLD_DATE_SK + and SS_ITEM_SK = I_ITEM_SK + and I_MANAGER_ID = 29 + and D_MOY = 11 + and D_YEAR = 2001 + and SS_CUSTOMER_SK = C_CUSTOMER_SK + and C_CURRENT_ADDR_SK = CA_ADDRESS_SK + and substring(CA_ZIP, 1, 5) <> substring(S_ZIP, 1, 5) + and SS_STORE_SK = S_STORE_SK +group by I_BRAND, + I_BRAND_ID, + I_MANUFACT_ID, + I_MANUFACT +order by ext_price desc, + I_BRAND, + I_BRAND_ID, + I_MANUFACT_ID, + I_MANUFACT option (label = 'TPCDS-Q19'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query2.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query2.sql new file mode 100644 index 00000000..a1bf9ab0 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query2.sql @@ -0,0 +1,100 @@ +with wscs as ( + select sold_date_sk, + sales_price + from ( + select WS_SOLD_DATE_SK sold_date_sk, + WS_EXT_SALES_PRICE sales_price + from web_sales + union all + select CS_SOLD_DATE_SK sold_date_sk, + CS_EXT_SALES_PRICE sales_price + from catalog_sales + ) as x +), +wswscs as ( + select D_WEEK_SEQ, + sum( + case + when (D_DAY_NAME = 'Sunday') then sales_price + else null + end + ) sun_sales, + sum( + case + when (D_DAY_NAME = 'Monday') then sales_price + else null + end + ) mon_sales, + sum( + case + when (D_DAY_NAME = 'Tuesday') then sales_price + else null + end + ) tue_sales, + sum( + case + when (D_DAY_NAME = 'Wednesday') then sales_price + else null + end + ) wed_sales, + sum( + case + when (D_DAY_NAME = 'Thursday') then sales_price + else null + end + ) thu_sales, + sum( + case + when (D_DAY_NAME = 'Friday') then sales_price + else null + end + ) fri_sales, + sum( + case + when (D_DAY_NAME = 'Saturday') then sales_price + else null + end + ) sat_sales + from wscs, + date_dim + where D_DATE_SK = sold_date_sk + group by D_WEEK_SEQ +) +select d_week_seq1, + round(sun_sales1 / sun_sales2, 2), + round(mon_sales1 / mon_sales2, 2), + round(tue_sales1 / tue_sales2, 2), + round(wed_sales1 / wed_sales2, 2), + round(thu_sales1 / thu_sales2, 2), + round(fri_sales1 / fri_sales2, 2), + round(sat_sales1 / sat_sales2, 2) +from ( + select wswscs.D_WEEK_SEQ d_week_seq1, + sun_sales sun_sales1, + mon_sales mon_sales1, + tue_sales tue_sales1, + wed_sales wed_sales1, + thu_sales thu_sales1, + fri_sales fri_sales1, + sat_sales sat_sales1 + from wswscs, + date_dim + where date_dim.D_WEEK_SEQ = wswscs.D_WEEK_SEQ + and D_YEAR = 2000 + ) y, + ( + select wswscs.D_WEEK_SEQ d_week_seq2, + sun_sales sun_sales2, + mon_sales mon_sales2, + tue_sales tue_sales2, + wed_sales wed_sales2, + thu_sales thu_sales2, + fri_sales fri_sales2, + sat_sales sat_sales2 + from wswscs, + date_dim + where date_dim.D_WEEK_SEQ = wswscs.D_WEEK_SEQ + and D_YEAR = 2000 + 1 + ) z +where d_week_seq1 = d_week_seq2 -53 +order by d_week_seq1 option (label = 'TPCDS-Q2'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query20.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query20.sql new file mode 100644 index 00000000..c24a5c08 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query20.sql @@ -0,0 +1,25 @@ +select top 100 I_ITEM_ID, + I_ITEM_DESC, + I_CATEGORY, + I_CLASS, + I_CURRENT_PRICE, + sum(CS_EXT_SALES_PRICE) as itemrevenue, + sum(CS_EXT_SALES_PRICE) * 100 / sum(sum(CS_EXT_SALES_PRICE)) over (partition by I_CLASS) as revenueratio +from catalog_sales, + item, + date_dim +where CS_ITEM_SK = I_ITEM_SK + and I_CATEGORY in ('Jewelry', 'Men', 'Electronics') + and CS_SOLD_DATE_SK = D_DATE_SK + and D_DATE between cast('1999-03-09' as date) + and dateadd(day, 30, (cast('1999-03-09' as date))) +group by I_ITEM_ID, + I_ITEM_DESC, + I_CATEGORY, + I_CLASS, + I_CURRENT_PRICE +order by I_CATEGORY, + I_CLASS, + I_ITEM_ID, + I_ITEM_DESC, + revenueratio option (label = 'TPCDS-Q20'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query21.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query21.sql new file mode 100644 index 00000000..f91a82cf --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query21.sql @@ -0,0 +1,41 @@ +select top 100 * +from( + select W_WAREHOUSE_NAME, + I_ITEM_ID, + sum( + case + when ( + cast(D_DATE as date) < cast ('2000-06-06' as date) + ) then INV_QUANTITY_ON_HAND + else 0 + end + ) as inv_before, + sum( + case + when ( + cast(D_DATE as date) >= cast ('2000-06-06' as date) + ) then INV_QUANTITY_ON_HAND + else 0 + end + ) as inv_after + from inventory, + warehouse, + item, + date_dim + where I_CURRENT_PRICE between 0.99 and 1.49 + and I_ITEM_SK = INV_ITEM_SK + and INV_WAREHOUSE_SK = W_WAREHOUSE_SK + and INV_DATE_SK = D_DATE_SK + and D_DATE between dateadd(day, -30, (cast ('2000-06-06' as date))) + and dateadd(day, 30, (cast ('2000-06-06' as date))) + group by W_WAREHOUSE_NAME, + I_ITEM_ID + ) x +where ( + case + when inv_before > 0 then inv_after / inv_before + else null + end + ) between 2.0 / 3.0 and 3.0 / 2.0 +order by W_WAREHOUSE_NAME, + I_ITEM_ID option (label = 'TPCDS-Q21'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query22.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query22.sql new file mode 100644 index 00000000..d857b431 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query22.sql @@ -0,0 +1,22 @@ +select top 100 I_PRODUCT_NAME, + I_BRAND, + I_CLASS, + I_CATEGORY, + avg(cast(INV_QUANTITY_ON_HAND as bigint)) qoh +from inventory, + date_dim, + item +where INV_DATE_SK = D_DATE_SK + and INV_ITEM_SK = I_ITEM_SK + and D_MONTH_SEQ between 1176 and 1176 + 11 +group by rollup( + I_PRODUCT_NAME, + I_BRAND, + I_CLASS, + I_CATEGORY + ) +order by qoh, + I_PRODUCT_NAME, + I_BRAND, + I_CLASS, + I_CATEGORY option (label = 'TPCDS-Q22'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query23.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query23.sql new file mode 100644 index 00000000..739c5006 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query23.sql @@ -0,0 +1,74 @@ +with frequent_ss_items as ( + select substring(I_ITEM_DESC, 1, 30) itemdesc, + I_ITEM_SK item_sk, + D_DATE solddate, + count(*) cnt + from store_sales, + date_dim, + item + where SS_SOLD_DATE_SK = D_DATE_SK + and SS_ITEM_SK = I_ITEM_SK + and D_YEAR in (1998, 1998 + 1, 1998 + 2, 1998 + 3) + group by substring(I_ITEM_DESC, 1, 30), + I_ITEM_SK, + D_DATE + having count(*) > 4 +), +max_store_sales as ( + select max(csales) tpcds_cmax + from ( + select C_CUSTOMER_SK, + sum(SS_QUANTITY * SS_SALES_PRICE) csales + from store_sales, + customer, + date_dim + where SS_CUSTOMER_SK = C_CUSTOMER_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR in (1998, 1998 + 1, 1998 + 2, 1998 + 3) + group by C_CUSTOMER_SK + ) as x +), +best_ss_customer as ( + select C_CUSTOMER_SK, + sum(SS_QUANTITY * SS_SALES_PRICE) ssales + from store_sales, + customer + where SS_CUSTOMER_SK = C_CUSTOMER_SK + group by C_CUSTOMER_SK + having sum(SS_QUANTITY * SS_SALES_PRICE) > (95 / 100.0) * ( + select * + from max_store_sales + ) +) +select top 100 sum(sales) +from ( + select CS_QUANTITY * CS_LIST_PRICE sales + from catalog_sales, + date_dim + where D_YEAR = 1998 + and D_MOY = 1 + and CS_SOLD_DATE_SK = D_DATE_SK + and CS_ITEM_SK in ( + select item_sk + from frequent_ss_items + ) + and CS_BILL_CUSTOMER_SK in ( + select C_CUSTOMER_SK + from best_ss_customer + ) + union all + select WS_QUANTITY * WS_LIST_PRICE sales + from web_sales, + date_dim + where D_YEAR = 1998 + and D_MOY = 1 + and WS_SOLD_DATE_SK = D_DATE_SK + and WS_ITEM_SK in ( + select item_sk + from frequent_ss_items + ) + and WS_BILL_CUSTOMER_SK in ( + select C_CUSTOMER_SK + from best_ss_customer + ) + ) as y option (label = 'TPCDS-Q23a'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query24.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query24.sql new file mode 100644 index 00000000..145b5973 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query24.sql @@ -0,0 +1,54 @@ +with ssales as ( + select C_LAST_NAME, + C_FIRST_NAME, + S_STORE_NAME, + CA_STATE, + S_STATE, + I_COLOR, + I_CURRENT_PRICE, + I_MANAGER_ID, + I_UNITS, + I_SIZE, + sum(SS_EXT_SALES_PRICE) netpaid + from store_sales, + store_returns, + store, + item, + customer, + customer_address + where SS_TICKET_NUMBER = SR_TICKET_NUMBER + and SS_ITEM_SK = SR_ITEM_SK + and SS_CUSTOMER_SK = C_CUSTOMER_SK + and SS_ITEM_SK = I_ITEM_SK + and SS_STORE_SK = S_STORE_SK + and C_CURRENT_ADDR_SK = CA_ADDRESS_SK + and C_BIRTH_COUNTRY <> upper(CA_COUNTRY) + and S_ZIP = CA_ZIP + and S_MARKET_ID = 8 + group by C_LAST_NAME, + C_FIRST_NAME, + S_STORE_NAME, + CA_STATE, + S_STATE, + I_COLOR, + I_CURRENT_PRICE, + I_MANAGER_ID, + I_UNITS, + I_SIZE +) +select C_LAST_NAME, + C_FIRST_NAME, + S_STORE_NAME, + sum(netpaid) paid +from ssales +where I_COLOR = 'forest' +group by C_LAST_NAME, + C_FIRST_NAME, + S_STORE_NAME +having sum(netpaid) > ( + select 0.05 * avg(netpaid) + from ssales + ) +order by C_LAST_NAME, + C_FIRST_NAME, + S_STORE_NAME option (label = 'TPCDS-Q24a'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query25.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query25.sql new file mode 100644 index 00000000..8898b2d9 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query25.sql @@ -0,0 +1,39 @@ +select top 100 I_ITEM_ID, + I_ITEM_DESC, + S_STORE_ID, + S_STORE_NAME, + max(SS_NET_PROFIT) as store_sales_profit, + max(SR_NET_LOSS) as store_returns_loss, + max(CS_NET_PROFIT) as catalog_sales_profit +from store_sales, + store_returns, + catalog_sales, + date_dim d1, + date_dim d2, + date_dim d3, + store, + item +where d1.D_MOY = 4 + and d1.D_YEAR = 1999 + and d1.D_DATE_SK = SS_SOLD_DATE_SK + and I_ITEM_SK = SS_ITEM_SK + and S_STORE_SK = SS_STORE_SK + and SS_CUSTOMER_SK = SR_CUSTOMER_SK + and SS_ITEM_SK = SR_ITEM_SK + and SS_TICKET_NUMBER = SR_TICKET_NUMBER + and SR_RETURNED_DATE_SK = d2.D_DATE_SK + and d2.D_MOY between 4 and 10 + and d2.D_YEAR = 1999 + and SR_CUSTOMER_SK = CS_BILL_CUSTOMER_SK + and SR_ITEM_SK = CS_ITEM_SK + and CS_SOLD_DATE_SK = d3.D_DATE_SK + and d3.D_MOY between 4 and 10 + and d3.D_YEAR = 1999 +group by I_ITEM_ID, + I_ITEM_DESC, + S_STORE_ID, + S_STORE_NAME +order by I_ITEM_ID, + I_ITEM_DESC, + S_STORE_ID, + S_STORE_NAME option (label = 'TPCDS-Q25'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query26.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query26.sql new file mode 100644 index 00000000..ffb318b5 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query26.sql @@ -0,0 +1,24 @@ +select top 100 I_ITEM_ID, + avg(CS_QUANTITY) agg1, + avg(CS_LIST_PRICE) agg2, + avg(CS_COUPON_AMT) agg3, + avg(CS_SALES_PRICE) agg4 +from catalog_sales, + customer_demographics, + date_dim, + item, + promotion +where CS_SOLD_DATE_SK = D_DATE_SK + and CS_ITEM_SK = I_ITEM_SK + and CS_BILL_CDEMO_SK = CD_DEMO_SK + and CS_PROMO_SK = P_PROMO_SK + and CD_GENDER = 'M' + and CD_MARITAL_STATUS = 'M' + and CD_EDUCATION_STATUS = 'Primary' + and ( + P_CHANNEL_EMAIL = 'N' + or P_CHANNEL_EVENT = 'N' + ) + and D_YEAR = 2000 +group by I_ITEM_ID +order by I_ITEM_ID option (label = 'TPCDS-Q26'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query27.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query27.sql new file mode 100644 index 00000000..8dbaaf89 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query27.sql @@ -0,0 +1,24 @@ +select top 100 I_ITEM_ID, + S_STATE, + grouping(S_STATE) g_state, + avg(SS_QUANTITY) agg1, + avg(SS_LIST_PRICE) agg2, + avg(SS_COUPON_AMT) agg3, + avg(SS_SALES_PRICE) agg4 +from store_sales, + customer_demographics, + date_dim, + store, + item +where SS_SOLD_DATE_SK = D_DATE_SK + and SS_ITEM_SK = I_ITEM_SK + and SS_STORE_SK = S_STORE_SK + and SS_CDEMO_SK = CD_DEMO_SK + and CD_GENDER = 'M' + and CD_MARITAL_STATUS = 'S' + and CD_EDUCATION_STATUS = 'College' + and D_YEAR = 1998 + and S_STATE in ('TN', 'AL', 'SD', 'TN', 'SD', 'SD') +group by rollup (I_ITEM_ID, S_STATE) +order by I_ITEM_ID, + S_STATE option (label = 'TPCDS-Q27'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query28.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query28.sql new file mode 100644 index 00000000..1f801865 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query28.sql @@ -0,0 +1,73 @@ +select top 100 * +from ( + select avg(SS_LIST_PRICE) B1_LP, + count(SS_LIST_PRICE) B1_CNT, + count(distinct SS_LIST_PRICE) B1_CNTD + from store_sales + where SS_QUANTITY between 0 and 5 + and ( + SS_LIST_PRICE between 3 and 3 + 10 + or SS_COUPON_AMT between 4023 and 4023 + 1000 + or SS_WHOLESALE_COST between 53 and 53 + 20 + ) + ) B1, + ( + select avg(SS_LIST_PRICE) B2_LP, + count(SS_LIST_PRICE) B2_CNT, + count(distinct SS_LIST_PRICE) B2_CNTD + from store_sales + where SS_QUANTITY between 6 and 10 + and ( + SS_LIST_PRICE between 139 and 139 + 10 + or SS_COUPON_AMT between 7945 and 7945 + 1000 + or SS_WHOLESALE_COST between 23 and 23 + 20 + ) + ) B2, + ( + select avg(SS_LIST_PRICE) B3_LP, + count(SS_LIST_PRICE) B3_CNT, + count(distinct SS_LIST_PRICE) B3_CNTD + from store_sales + where SS_QUANTITY between 11 and 15 + and ( + SS_LIST_PRICE between 67 and 67 + 10 + or SS_COUPON_AMT between 1381 and 1381 + 1000 + or SS_WHOLESALE_COST between 67 and 67 + 20 + ) + ) B3, + ( + select avg(SS_LIST_PRICE) B4_LP, + count(SS_LIST_PRICE) B4_CNT, + count(distinct SS_LIST_PRICE) B4_CNTD + from store_sales + where SS_QUANTITY between 16 and 20 + and ( + SS_LIST_PRICE between 103 and 103 + 10 + or SS_COUPON_AMT between 3531 and 3531 + 1000 + or SS_WHOLESALE_COST between 5 and 5 + 20 + ) + ) B4, + ( + select avg(SS_LIST_PRICE) B5_LP, + count(SS_LIST_PRICE) B5_CNT, + count(distinct SS_LIST_PRICE) B5_CNTD + from store_sales + where SS_QUANTITY between 21 and 25 + and ( + SS_LIST_PRICE between 41 and 41 + 10 + or SS_COUPON_AMT between 4177 and 4177 + 1000 + or SS_WHOLESALE_COST between 19 and 19 + 20 + ) + ) B5, + ( + select avg(SS_LIST_PRICE) B6_LP, + count(SS_LIST_PRICE) B6_CNT, + count(distinct SS_LIST_PRICE) B6_CNTD + from store_sales + where SS_QUANTITY between 26 and 30 + and ( + SS_LIST_PRICE between 51 and 51 + 10 + or SS_COUPON_AMT between 2207 and 2207 + 1000 + or SS_WHOLESALE_COST between 55 and 55 + 20 + ) + ) B6 option (label = 'TPCDS-Q28'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query29.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query29.sql new file mode 100644 index 00000000..89d2be95 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query29.sql @@ -0,0 +1,38 @@ +select top 100 I_ITEM_ID, + I_ITEM_DESC, + S_STORE_ID, + S_STORE_NAME, + max(SS_QUANTITY) as store_sales_quantity, + max(SR_RETURN_QUANTITY) as store_returns_quantity, + max(CS_QUANTITY) as catalog_sales_quantity +from store_sales, + store_returns, + catalog_sales, + date_dim d1, + date_dim d2, + date_dim d3, + store, + item +where d1.D_MOY = 4 + and d1.D_YEAR = 1998 + and d1.D_DATE_SK = SS_SOLD_DATE_SK + and I_ITEM_SK = SS_ITEM_SK + and S_STORE_SK = SS_STORE_SK + and SS_CUSTOMER_SK = SR_CUSTOMER_SK + and SS_ITEM_SK = SR_ITEM_SK + and SS_TICKET_NUMBER = SR_TICKET_NUMBER + and SR_RETURNED_DATE_SK = d2.D_DATE_SK + and d2.D_MOY between 4 and 4 + 3 + and d2.D_YEAR = 1998 + and SR_CUSTOMER_SK = CS_BILL_CUSTOMER_SK + and SR_ITEM_SK = CS_ITEM_SK + and CS_SOLD_DATE_SK = d3.D_DATE_SK + and d3.D_YEAR in (1998, 1998 + 1, 1998 + 2) +group by I_ITEM_ID, + I_ITEM_DESC, + S_STORE_ID, + S_STORE_NAME +order by I_ITEM_ID, + I_ITEM_DESC, + S_STORE_ID, + S_STORE_NAME option (label = 'TPCDS-Q29'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query3.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query3.sql new file mode 100644 index 00000000..a2062aed --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query3.sql @@ -0,0 +1,17 @@ +select top 100 dt.D_YEAR, + item.I_BRAND_ID brand_id, + item.I_BRAND brand, + sum(SS_EXT_DISCOUNT_AMT) sum_agg +from date_dim dt, + store_sales, + item +where dt.D_DATE_SK = store_sales.SS_SOLD_DATE_SK + and store_sales.SS_ITEM_SK = item.I_ITEM_SK + and item.I_MANUFACT_ID = 143 + and dt.D_MOY = 12 +group by dt.D_YEAR, + item.I_BRAND, + item.I_BRAND_ID +order by dt.D_YEAR, + sum_agg desc, + brand_id option (label = 'TPCDS-Q3'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query30.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query30.sql new file mode 100644 index 00000000..376e5569 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query30.sql @@ -0,0 +1,50 @@ +with customer_total_return as ( + select WR_RETURNING_CUSTOMER_SK as ctr_customer_sk, + CA_STATE as ctr_state, + sum(WR_RETURN_AMT) as ctr_total_return + from web_returns, + date_dim, + customer_address + where WR_RETURNED_DATE_SK = D_DATE_SK + and D_YEAR = 2001 + and WR_RETURNING_ADDR_SK = CA_ADDRESS_SK + group by WR_RETURNING_CUSTOMER_SK, + CA_STATE +) +select top 100 C_CUSTOMER_ID, + C_SALUTATION, + C_FIRST_NAME, + C_LAST_NAME, + C_PREFERRED_CUST_FLAG, + C_BIRTH_DAY, + C_BIRTH_MONTH, + C_BIRTH_YEAR, + C_BIRTH_COUNTRY, + C_LOGIN, + C_EMAIL_ADDRESS, + C_LAST_REVIEW_DATE_SK, + ctr_total_return +from customer_total_return ctr1, + customer_address, + customer +where ctr1.ctr_total_return > ( + select avg(ctr_total_return) * 1.2 + from customer_total_return ctr2 + where ctr1.ctr_state = ctr2.ctr_state + ) + and CA_ADDRESS_SK = C_CURRENT_ADDR_SK + and CA_STATE = 'OK' + and ctr1.ctr_customer_sk = C_CUSTOMER_SK +order by C_CUSTOMER_ID, + C_SALUTATION, + C_FIRST_NAME, + C_LAST_NAME, + C_PREFERRED_CUST_FLAG, + C_BIRTH_DAY, + C_BIRTH_MONTH, + C_BIRTH_YEAR, + C_BIRTH_COUNTRY, + C_LOGIN, + C_EMAIL_ADDRESS, + C_LAST_REVIEW_DATE_SK, + ctr_total_return option (label = 'TPCDS-Q30'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query31.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query31.sql new file mode 100644 index 00000000..36dffcc7 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query31.sql @@ -0,0 +1,72 @@ +with ss as ( + select CA_COUNTY, + D_QOY, + D_YEAR, + sum(SS_EXT_SALES_PRICE) as store_sales + from store_sales, + date_dim, + customer_address + where SS_SOLD_DATE_SK = D_DATE_SK + and SS_ADDR_SK = CA_ADDRESS_SK + group by CA_COUNTY, + D_QOY, + D_YEAR +), +ws as ( + select CA_COUNTY, + D_QOY, + D_YEAR, + sum(WS_EXT_SALES_PRICE) as web_sales + from web_sales, + date_dim, + customer_address + where WS_SOLD_DATE_SK = D_DATE_SK + and WS_BILL_ADDR_SK = CA_ADDRESS_SK + group by CA_COUNTY, + D_QOY, + D_YEAR +) +select ss1.CA_COUNTY, + ss1.D_YEAR, + ws2.web_sales / ws1.web_sales web_q1_q2_increase, + ss2.store_sales / ss1.store_sales store_q1_q2_increase, + ws3.web_sales / ws2.web_sales web_q2_q3_increase, + ss3.store_sales / ss2.store_sales store_q2_q3_increase +from ss ss1, + ss ss2, + ss ss3, + ws ws1, + ws ws2, + ws ws3 +where ss1.D_QOY = 1 + and ss1.D_YEAR = 1999 + and ss1.CA_COUNTY = ss2.CA_COUNTY + and ss2.D_QOY = 2 + and ss2.D_YEAR = 1999 + and ss2.CA_COUNTY = ss3.CA_COUNTY + and ss3.D_QOY = 3 + and ss3.D_YEAR = 1999 + and ss1.CA_COUNTY = ws1.CA_COUNTY + and ws1.D_QOY = 1 + and ws1.D_YEAR = 1999 + and ws1.CA_COUNTY = ws2.CA_COUNTY + and ws2.D_QOY = 2 + and ws2.D_YEAR = 1999 + and ws1.CA_COUNTY = ws3.CA_COUNTY + and ws3.D_QOY = 3 + and ws3.D_YEAR = 1999 + and case + when ws1.web_sales > 0 then ws2.web_sales / ws1.web_sales + else null + end > case + when ss1.store_sales > 0 then ss2.store_sales / ss1.store_sales + else null + end + and case + when ws2.web_sales > 0 then ws3.web_sales / ws2.web_sales + else null + end > case + when ss2.store_sales > 0 then ss3.store_sales / ss2.store_sales + else null + end +order by ss1.CA_COUNTY option (label = 'TPCDS-Q31'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query32.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query32.sql new file mode 100644 index 00000000..30459530 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query32.sql @@ -0,0 +1,16 @@ +select top 100 sum(CS_EXT_DISCOUNT_AMT) as "excess discount amount" +from catalog_sales, + item, + date_dim +where I_MANUFACT_ID = 591 + and I_ITEM_SK = CS_ITEM_SK + and D_DATE between '2000-01-03' and dateadd(day, 90, (cast('2000-01-03' as date))) + and D_DATE_SK = CS_SOLD_DATE_SK + and CS_EXT_DISCOUNT_AMT > ( + select 1.3 * avg(CS_EXT_DISCOUNT_AMT) + from catalog_sales, + date_dim + where CS_ITEM_SK = I_ITEM_SK + and D_DATE between '2000-01-03' and dateadd(day, 90, (cast('2000-01-03' as date))) + and D_DATE_SK = CS_SOLD_DATE_SK + ) option (label = 'TPCDS-Q32'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query33.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query33.sql new file mode 100644 index 00000000..033ab320 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query33.sql @@ -0,0 +1,74 @@ +with ss as ( + select I_MANUFACT_ID, + sum(SS_EXT_SALES_PRICE) total_sales + from store_sales, + date_dim, + customer_address, + item + where I_MANUFACT_ID in ( + select I_MANUFACT_ID + from item + where I_CATEGORY in ('Electronics') + ) + and SS_ITEM_SK = I_ITEM_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2001 + and D_MOY = 2 + and SS_ADDR_SK = CA_ADDRESS_SK + and CA_GMT_OFFSET = -6 + group by I_MANUFACT_ID +), +cs as ( + select I_MANUFACT_ID, + sum(CS_EXT_SALES_PRICE) total_sales + from catalog_sales, + date_dim, + customer_address, + item + where I_MANUFACT_ID in ( + select I_MANUFACT_ID + from item + where I_CATEGORY in ('Electronics') + ) + and CS_ITEM_SK = I_ITEM_SK + and CS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2001 + and D_MOY = 2 + and CS_BILL_ADDR_SK = CA_ADDRESS_SK + and CA_GMT_OFFSET = -6 + group by I_MANUFACT_ID +), +ws as ( + select I_MANUFACT_ID, + sum(WS_EXT_SALES_PRICE) total_sales + from web_sales, + date_dim, + customer_address, + item + where I_MANUFACT_ID in ( + select I_MANUFACT_ID + from item + where I_CATEGORY in ('Electronics') + ) + and WS_ITEM_SK = I_ITEM_SK + and WS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2001 + and D_MOY = 2 + and WS_BILL_ADDR_SK = CA_ADDRESS_SK + and CA_GMT_OFFSET = -6 + group by I_MANUFACT_ID +) +select top 100 I_MANUFACT_ID, + sum(total_sales) total_sales +from ( + select * + from ss + union all + select * + from cs + union all + select * + from ws + ) tmp1 +group by I_MANUFACT_ID +order by total_sales option (label = 'TPCDS-Q33'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query34.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query34.sql new file mode 100644 index 00000000..7e13f85a --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query34.sql @@ -0,0 +1,54 @@ +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(*) 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 3 + or date_dim.D_DOM between 25 and 28 + ) + and ( + household_demographics.HD_BUY_POTENTIAL = '1001-5000' + 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.2 + and date_dim.D_YEAR in (2000, 2000 + 1, 2000 + 2) + and store.S_COUNTY in ( + 'Williamson County', + 'Walker County', + 'Ziebach County', + 'Ziebach County', + 'Ziebach County', + 'Ziebach County', + 'Walker County', + 'Walker County' + ) + group by SS_TICKET_NUMBER, + SS_CUSTOMER_SK + ) dn, + customer +where SS_CUSTOMER_SK = C_CUSTOMER_SK + and cnt between 15 and 20 +order by C_LAST_NAME, + C_FIRST_NAME, + C_SALUTATION, + C_PREFERRED_CUST_FLAG desc, + SS_TICKET_NUMBER option (label = 'TPCDS-Q34'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query35.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query35.sql new file mode 100644 index 00000000..4b25b7ea --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query35.sql @@ -0,0 +1,64 @@ +select top 100 CA_STATE, + CD_GENDER, + CD_MARITAL_STATUS, + CD_DEP_COUNT, + count(*) cnt1, + sum(CD_DEP_COUNT), + min(CD_DEP_COUNT), + max(CD_DEP_COUNT), + CD_DEP_EMPLOYED_COUNT, + count(*) cnt2, + sum(CD_DEP_EMPLOYED_COUNT), + min(CD_DEP_EMPLOYED_COUNT), + max(CD_DEP_EMPLOYED_COUNT), + CD_DEP_COLLEGE_COUNT, + count(*) cnt3, + sum(CD_DEP_COLLEGE_COUNT), + min(CD_DEP_COLLEGE_COUNT), + max(CD_DEP_COLLEGE_COUNT) +from customer c, + customer_address ca, + customer_demographics +where c.C_CURRENT_ADDR_SK = ca.CA_ADDRESS_SK + and CD_DEMO_SK = c.C_CURRENT_CDEMO_SK + and exists ( + select * + from store_sales, + date_dim + where c.C_CUSTOMER_SK = SS_CUSTOMER_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2002 + and D_QOY < 4 + ) + and ( + exists ( + select * + from web_sales, + date_dim + where c.C_CUSTOMER_SK = WS_BILL_CUSTOMER_SK + and WS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2002 + and D_QOY < 4 + ) + or exists ( + select * + from catalog_sales, + date_dim + where c.C_CUSTOMER_SK = CS_SHIP_CUSTOMER_SK + and CS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2002 + and D_QOY < 4 + ) + ) +group by CA_STATE, + CD_GENDER, + CD_MARITAL_STATUS, + CD_DEP_COUNT, + CD_DEP_EMPLOYED_COUNT, + CD_DEP_COLLEGE_COUNT +order by CA_STATE, + CD_GENDER, + CD_MARITAL_STATUS, + CD_DEP_COUNT, + CD_DEP_EMPLOYED_COUNT, + CD_DEP_COLLEGE_COUNT option (label = 'TPCDS-Q35'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query36.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query36.sql new file mode 100644 index 00000000..42a47b29 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query36.sql @@ -0,0 +1,35 @@ +select top 100 sum(SS_NET_PROFIT) / sum(SS_EXT_SALES_PRICE) as gross_margin, + I_CATEGORY, + I_CLASS, + grouping(I_CATEGORY) + grouping(I_CLASS) as lochierarchy, + rank() over ( + partition by grouping(I_CATEGORY) + grouping(I_CLASS), + case + when grouping(I_CLASS) = 0 then I_CATEGORY + end + order by sum(SS_NET_PROFIT) / sum(SS_EXT_SALES_PRICE) asc + ) as rank_within_parent +from store_sales, + date_dim d1, + item, + store +where d1.D_YEAR = 2001 + and d1.D_DATE_SK = SS_SOLD_DATE_SK + and I_ITEM_SK = SS_ITEM_SK + and S_STORE_SK = SS_STORE_SK + and S_STATE in ( + 'TN', + 'AL', + 'SD', + 'TN', + 'SD', + 'SD', + 'SD', + 'TN' + ) +group by rollup(I_CATEGORY, I_CLASS) +order by lochierarchy desc, +case + when grouping(I_CATEGORY) + grouping(I_CLASS) = 0 then I_CATEGORY + end, + rank_within_parent option (label = 'TPCDS-Q36'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query37.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query37.sql new file mode 100644 index 00000000..cce82300 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query37.sql @@ -0,0 +1,19 @@ +select top 100 I_ITEM_ID, + I_ITEM_DESC, + I_CURRENT_PRICE +from item, + inventory, + date_dim, + catalog_sales +where I_CURRENT_PRICE between 27 and 27 + 30 + and INV_ITEM_SK = I_ITEM_SK + and D_DATE_SK = INV_DATE_SK + and D_DATE between cast('2001-07-14' as date) + and dateadd(day, 60, (cast('2001-07-14' as date))) + and I_MANUFACT_ID in (682, 914, 746, 766) + and INV_QUANTITY_ON_HAND between 100 and 500 + and CS_ITEM_SK = I_ITEM_SK +group by I_ITEM_ID, + I_ITEM_DESC, + I_CURRENT_PRICE +order by I_ITEM_ID option (label = 'TPCDS-Q37'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query38.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query38.sql new file mode 100644 index 00000000..754a392a --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query38.sql @@ -0,0 +1,32 @@ +select top 100 count(*) +from ( + select distinct C_LAST_NAME, + C_FIRST_NAME, + D_DATE + from store_sales, + date_dim, + customer + where store_sales.SS_SOLD_DATE_SK = date_dim.D_DATE_SK + and store_sales.SS_CUSTOMER_SK = customer.C_CUSTOMER_SK + and D_MONTH_SEQ between 1176 and 1176 + 11 + intersect + select distinct C_LAST_NAME, + C_FIRST_NAME, + D_DATE + from catalog_sales, + date_dim, + customer + where catalog_sales.CS_SOLD_DATE_SK = date_dim.D_DATE_SK + and catalog_sales.CS_BILL_CUSTOMER_SK = customer.C_CUSTOMER_SK + and D_MONTH_SEQ between 1176 and 1176 + 11 + intersect + select distinct C_LAST_NAME, + C_FIRST_NAME, + D_DATE + from web_sales, + date_dim, + customer + where web_sales.WS_SOLD_DATE_SK = date_dim.D_DATE_SK + and web_sales.WS_BILL_CUSTOMER_SK = customer.C_CUSTOMER_SK + and D_MONTH_SEQ between 1176 and 1176 + 11 + ) hot_cust option (label = 'TPCDS-Q38'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query39.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query39.sql new file mode 100644 index 00000000..cb0d2cd2 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query39.sql @@ -0,0 +1,62 @@ +with inv as ( + select W_WAREHOUSE_NAME, + W_WAREHOUSE_SK, + I_ITEM_SK, + D_MOY, + stdev, + mean, + case + mean + when 0 then null + else stdev / mean + end cov + from( + select W_WAREHOUSE_NAME, + W_WAREHOUSE_SK, + I_ITEM_SK, + D_MOY, + stdev(INV_QUANTITY_ON_HAND) stdev, + avg(INV_QUANTITY_ON_HAND) mean + from inventory, + item, + warehouse, + date_dim + where INV_ITEM_SK = I_ITEM_SK + and INV_WAREHOUSE_SK = W_WAREHOUSE_SK + and INV_DATE_SK = D_DATE_SK + and D_YEAR = 2000 + group by W_WAREHOUSE_NAME, + W_WAREHOUSE_SK, + I_ITEM_SK, + D_MOY + ) foo + where case + mean + when 0 then 0 + else stdev / mean + end > 1 +) +select inv1.W_WAREHOUSE_SK, + inv1.I_ITEM_SK, + inv1.D_MOY, + inv1.mean, + inv1.cov, + inv2.W_WAREHOUSE_SK, + inv2.I_ITEM_SK, + inv2.D_MOY, + inv2.mean, + inv2.cov +from inv inv1, + inv inv2 +where inv1.I_ITEM_SK = inv2.I_ITEM_SK + and inv1.W_WAREHOUSE_SK = inv2.W_WAREHOUSE_SK + and inv1.D_MOY = 2 + and inv2.D_MOY = 2 + 1 +order by inv1.W_WAREHOUSE_SK, + inv1.I_ITEM_SK, + inv1.D_MOY, + inv1.mean, + inv1.cov, + inv2.D_MOY, + inv2.mean, + inv2.cov option (label = 'TPCDS-Q39a'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query4.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query4.sql new file mode 100644 index 00000000..86358bf7 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query4.sql @@ -0,0 +1,143 @@ +with year_total as ( + select C_CUSTOMER_ID customer_id, + C_FIRST_NAME customer_first_name, + C_LAST_NAME customer_last_name, + C_PREFERRED_CUST_FLAG customer_preferred_cust_flag, + C_BIRTH_COUNTRY customer_birth_country, + C_LOGIN customer_login, + C_EMAIL_ADDRESS customer_email_address, + D_YEAR dyear, + sum( + ( + ( + SS_EXT_LIST_PRICE - SS_EXT_WHOLESALE_COST - SS_EXT_DISCOUNT_AMT + ) + SS_EXT_SALES_PRICE + ) / 2 + ) year_total, + 's' sale_type + from customer, + store_sales, + date_dim + where C_CUSTOMER_SK = SS_CUSTOMER_SK + and SS_SOLD_DATE_SK = D_DATE_SK + group by C_CUSTOMER_ID, + C_FIRST_NAME, + C_LAST_NAME, + C_PREFERRED_CUST_FLAG, + C_BIRTH_COUNTRY, + C_LOGIN, + C_EMAIL_ADDRESS, + D_YEAR + union all + select C_CUSTOMER_ID customer_id, + C_FIRST_NAME customer_first_name, + C_LAST_NAME customer_last_name, + C_PREFERRED_CUST_FLAG customer_preferred_cust_flag, + C_BIRTH_COUNTRY customer_birth_country, + C_LOGIN customer_login, + C_EMAIL_ADDRESS customer_email_address, + D_YEAR dyear, + sum( + ( + ( + ( + CS_EXT_LIST_PRICE - CS_EXT_WHOLESALE_COST - CS_EXT_DISCOUNT_AMT + ) + CS_EXT_SALES_PRICE + ) / 2 + ) + ) year_total, + 'c' sale_type + from customer, + catalog_sales, + date_dim + where C_CUSTOMER_SK = CS_BILL_CUSTOMER_SK + and CS_SOLD_DATE_SK = D_DATE_SK + group by C_CUSTOMER_ID, + C_FIRST_NAME, + C_LAST_NAME, + C_PREFERRED_CUST_FLAG, + C_BIRTH_COUNTRY, + C_LOGIN, + C_EMAIL_ADDRESS, + D_YEAR + union all + select C_CUSTOMER_ID customer_id, + C_FIRST_NAME customer_first_name, + C_LAST_NAME customer_last_name, + C_PREFERRED_CUST_FLAG customer_preferred_cust_flag, + C_BIRTH_COUNTRY customer_birth_country, + C_LOGIN customer_login, + C_EMAIL_ADDRESS customer_email_address, + D_YEAR dyear, + sum( + ( + ( + ( + WS_EXT_LIST_PRICE - WS_EXT_WHOLESALE_COST - WS_EXT_DISCOUNT_AMT + ) + WS_EXT_SALES_PRICE + ) / 2 + ) + ) year_total, + 'w' sale_type + from customer, + web_sales, + date_dim + where C_CUSTOMER_SK = WS_BILL_CUSTOMER_SK + and WS_SOLD_DATE_SK = D_DATE_SK + group by C_CUSTOMER_ID, + C_FIRST_NAME, + C_LAST_NAME, + C_PREFERRED_CUST_FLAG, + C_BIRTH_COUNTRY, + C_LOGIN, + C_EMAIL_ADDRESS, + D_YEAR +) +select top 100 t_s_secyear.customer_id, + t_s_secyear.customer_first_name, + t_s_secyear.customer_last_name, + t_s_secyear.customer_login +from year_total t_s_firstyear, + year_total t_s_secyear, + year_total t_c_firstyear, + year_total t_c_secyear, + year_total t_w_firstyear, + year_total t_w_secyear +where t_s_secyear.customer_id = t_s_firstyear.customer_id + and t_s_firstyear.customer_id = t_c_secyear.customer_id + and t_s_firstyear.customer_id = t_c_firstyear.customer_id + and t_s_firstyear.customer_id = t_w_firstyear.customer_id + and t_s_firstyear.customer_id = t_w_secyear.customer_id + and t_s_firstyear.sale_type = 's' + and t_c_firstyear.sale_type = 'c' + and t_w_firstyear.sale_type = 'w' + and t_s_secyear.sale_type = 's' + and t_c_secyear.sale_type = 'c' + and t_w_secyear.sale_type = 'w' + and t_s_firstyear.dyear = 1999 + and t_s_secyear.dyear = 1999 + 1 + and t_c_firstyear.dyear = 1999 + and t_c_secyear.dyear = 1999 + 1 + and t_w_firstyear.dyear = 1999 + and t_w_secyear.dyear = 1999 + 1 + and t_s_firstyear.year_total > 0 + and t_c_firstyear.year_total > 0 + and t_w_firstyear.year_total > 0 + and case + when t_c_firstyear.year_total > 0 then t_c_secyear.year_total / t_c_firstyear.year_total + else null + end > case + when t_s_firstyear.year_total > 0 then t_s_secyear.year_total / t_s_firstyear.year_total + else null + end + and case + when t_c_firstyear.year_total > 0 then t_c_secyear.year_total / t_c_firstyear.year_total + else null + end > case + when t_w_firstyear.year_total > 0 then t_w_secyear.year_total / t_w_firstyear.year_total + else null + end +order by t_s_secyear.customer_id, + t_s_secyear.customer_first_name, + t_s_secyear.customer_last_name, + t_s_secyear.customer_login option (label = 'TPCDS-Q4'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query40.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query40.sql new file mode 100644 index 00000000..0e95b470 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query40.sql @@ -0,0 +1,36 @@ +select top 100 W_STATE, + I_ITEM_ID, + sum( + case + when ( + cast(D_DATE as date) < cast ('2000-06-06' as date) + ) then CS_SALES_PRICE - coalesce(CR_REFUNDED_CASH, 0) + else 0 + end + ) as sales_before, + sum( + case + when ( + cast(D_DATE as date) >= cast ('2000-06-06' as date) + ) then CS_SALES_PRICE - coalesce(CR_REFUNDED_CASH, 0) + else 0 + end + ) as sales_after +from catalog_sales + left outer join catalog_returns on ( + CS_ORDER_NUMBER = CR_ORDER_NUMBER + and CS_ITEM_SK = CR_ITEM_SK + ), + warehouse, + item, + date_dim +where I_CURRENT_PRICE between 0.99 and 1.49 + and I_ITEM_SK = CS_ITEM_SK + and CS_WAREHOUSE_SK = W_WAREHOUSE_SK + and CS_SOLD_DATE_SK = D_DATE_SK + and D_DATE between dateadd(day, -30, (cast ('2000-06-06' as date))) + and dateadd(day, 30, (cast ('2000-06-06' as date))) +group by W_STATE, + I_ITEM_ID +order by W_STATE, + I_ITEM_ID option (label = 'TPCDS-Q40'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query41.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query41.sql new file mode 100644 index 00000000..ce50de2b --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query41.sql @@ -0,0 +1,138 @@ +select distinct top 100 (I_PRODUCT_NAME) +from item i1 +where I_MANUFACT_ID between 749 and 749 + 40 + and ( + select count(*) as item_cnt + from item + where ( + I_MANUFACT = i1.I_MANUFACT + and ( + ( + I_CATEGORY = 'Women' + and ( + I_COLOR = 'rose' + or I_COLOR = 'aquamarine' + ) + and ( + I_UNITS = 'Dram' + or I_UNITS = 'Oz' + ) + and ( + I_SIZE = 'petite' + or I_SIZE = 'small' + ) + ) + or ( + I_CATEGORY = 'Women' + and ( + I_COLOR = 'antique' + or I_COLOR = 'bisque' + ) + and ( + I_UNITS = 'N/A' + or I_UNITS = 'Gram' + ) + and ( + I_SIZE = 'extra large' + or I_SIZE = 'economy' + ) + ) + or ( + I_CATEGORY = 'Men' + and ( + I_COLOR = 'drab' + or I_COLOR = 'pink' + ) + and ( + I_UNITS = 'Pallet' + or I_UNITS = 'Bunch' + ) + and ( + I_SIZE = 'large' + or I_SIZE = 'N/A' + ) + ) + or ( + I_CATEGORY = 'Men' + and ( + I_COLOR = 'khaki' + or I_COLOR = 'peach' + ) + and ( + I_UNITS = 'Bundle' + or I_UNITS = 'Gross' + ) + and ( + I_SIZE = 'petite' + or I_SIZE = 'small' + ) + ) + ) + ) + or ( + I_MANUFACT = i1.I_MANUFACT + and ( + ( + I_CATEGORY = 'Women' + and ( + I_COLOR = 'steel' + or I_COLOR = 'hot' + ) + and ( + I_UNITS = 'Case' + or I_UNITS = 'Tsp' + ) + and ( + I_SIZE = 'petite' + or I_SIZE = 'small' + ) + ) + or ( + I_CATEGORY = 'Women' + and ( + I_COLOR = 'burnished' + or I_COLOR = 'cream' + ) + and ( + I_UNITS = 'Unknown' + or I_UNITS = 'Ton' + ) + and ( + I_SIZE = 'extra large' + or I_SIZE = 'economy' + ) + ) + or ( + I_CATEGORY = 'Men' + and ( + I_COLOR = 'slate' + or I_COLOR = 'seashell' + ) + and ( + I_UNITS = 'Lb' + or I_UNITS = 'Box' + ) + and ( + I_SIZE = 'large' + or I_SIZE = 'N/A' + ) + ) + or ( + I_CATEGORY = 'Men' + and ( + I_COLOR = 'white' + or I_COLOR = 'salmon' + ) + and ( + I_UNITS = 'Pound' + or I_UNITS = 'Cup' + ) + and ( + I_SIZE = 'petite' + or I_SIZE = 'small' + ) + ) + ) + ) + ) > 0 +order by I_PRODUCT_NAME option (label = 'TPCDS-Q41'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query42.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query42.sql new file mode 100644 index 00000000..7b138226 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query42.sql @@ -0,0 +1,19 @@ +select top 100 dt.D_YEAR, + item.I_CATEGORY_ID, + item.I_CATEGORY, + sum(SS_EXT_SALES_PRICE) +from date_dim dt, + store_sales, + item +where dt.D_DATE_SK = store_sales.SS_SOLD_DATE_SK + and store_sales.SS_ITEM_SK = item.I_ITEM_SK + and item.I_MANAGER_ID = 1 + and dt.D_MOY = 12 + and dt.D_YEAR = 2000 +group by dt.D_YEAR, + item.I_CATEGORY_ID, + item.I_CATEGORY +order by sum(SS_EXT_SALES_PRICE) desc, + dt.D_YEAR, + item.I_CATEGORY_ID, + item.I_CATEGORY option (label = 'TPCDS-Q42'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query43.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query43.sql new file mode 100644 index 00000000..453f8757 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query43.sql @@ -0,0 +1,62 @@ +select top 100 S_STORE_NAME, + S_STORE_ID, + sum( + case + when (D_DAY_NAME = 'Sunday') then SS_SALES_PRICE + else null + end + ) sun_sales, + sum( + case + when (D_DAY_NAME = 'Monday') then SS_SALES_PRICE + else null + end + ) mon_sales, + sum( + case + when (D_DAY_NAME = 'Tuesday') then SS_SALES_PRICE + else null + end + ) tue_sales, + sum( + case + when (D_DAY_NAME = 'Wednesday') then SS_SALES_PRICE + else null + end + ) wed_sales, + sum( + case + when (D_DAY_NAME = 'Thursday') then SS_SALES_PRICE + else null + end + ) thu_sales, + sum( + case + when (D_DAY_NAME = 'Friday') then SS_SALES_PRICE + else null + end + ) fri_sales, + sum( + case + when (D_DAY_NAME = 'Saturday') then SS_SALES_PRICE + else null + end + ) sat_sales +from date_dim, + store_sales, + store +where D_DATE_SK = SS_SOLD_DATE_SK + and S_STORE_SK = SS_STORE_SK + and S_GMT_OFFSET = -6 + and D_YEAR = 2000 +group by S_STORE_NAME, + S_STORE_ID +order by S_STORE_NAME, + S_STORE_ID, + sun_sales, + mon_sales, + tue_sales, + wed_sales, + thu_sales, + fri_sales, + sat_sales option (label = 'TPCDS-Q43'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query44.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query44.sql new file mode 100644 index 00000000..381cbbb7 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query44.sql @@ -0,0 +1,57 @@ +select top 100 asceding.rnk, + i1.I_PRODUCT_NAME best_performing, + i2.I_PRODUCT_NAME worst_performing +from( + select * + from ( + select item_sk, + rank() over ( + order by rank_col asc + ) rnk + from ( + select SS_ITEM_SK item_sk, + avg(SS_NET_PROFIT) rank_col + from store_sales ss1 + where SS_STORE_SK = 22 + group by SS_ITEM_SK + having avg(SS_NET_PROFIT) > 0.9 *( + select avg(SS_NET_PROFIT) rank_col + from store_sales + where SS_STORE_SK = 22 + and SS_CDEMO_SK is null + group by SS_STORE_SK + ) + ) V1 + ) V11 + where rnk < 11 + ) asceding, + ( + select * + from ( + select item_sk, + rank() over ( + order by rank_col desc + ) rnk + from ( + select SS_ITEM_SK item_sk, + avg(SS_NET_PROFIT) rank_col + from store_sales ss1 + where SS_STORE_SK = 22 + group by SS_ITEM_SK + having avg(SS_NET_PROFIT) > 0.9 *( + select avg(SS_NET_PROFIT) rank_col + from store_sales + where SS_STORE_SK = 22 + and SS_CDEMO_SK is null + group by SS_STORE_SK + ) + ) V2 + ) V21 + where rnk < 11 + ) descending, + item i1, + item i2 +where asceding.rnk = descending.rnk + and i1.I_ITEM_SK = asceding.item_sk + and i2.I_ITEM_SK = descending.item_sk +order by asceding.rnk option (label = 'TPCDS-Q44'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query45.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query45.sql new file mode 100644 index 00000000..954d9286 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query45.sql @@ -0,0 +1,36 @@ +select top 100 CA_ZIP, + CA_CITY, + sum(WS_SALES_PRICE) +from web_sales, + customer, + customer_address, + date_dim, + item +where WS_BILL_CUSTOMER_SK = C_CUSTOMER_SK + and C_CURRENT_ADDR_SK = CA_ADDRESS_SK + and WS_ITEM_SK = I_ITEM_SK + and ( + substring(CA_ZIP, 1, 5) in ( + '85669', + '86197', + '88274', + '83405', + '86475', + '85392', + '85460', + '80348', + '81792' + ) + or I_ITEM_ID in ( + select I_ITEM_ID + from item + where I_ITEM_SK in (2, 3, 5, 7, 11, 13, 17, 19, 23, 29) + ) + ) + and WS_SOLD_DATE_SK = D_DATE_SK + and D_QOY = 1 + and D_YEAR = 1999 +group by CA_ZIP, + CA_CITY +order by CA_ZIP, + CA_CITY option (label = 'TPCDS-Q45'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query46.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query46.sql new file mode 100644 index 00000000..1d0c4aad --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query46.sql @@ -0,0 +1,50 @@ +select top 100 C_LAST_NAME, + C_FIRST_NAME, + CA_CITY, + bought_city, + SS_TICKET_NUMBER, + amt, + profit +from ( + select SS_TICKET_NUMBER, + SS_CUSTOMER_SK, + CA_CITY bought_city, + sum(SS_COUPON_AMT) amt, + sum(SS_NET_PROFIT) profit + from store_sales, + date_dim, + store, + household_demographics, + customer_address + 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 store_sales.SS_ADDR_SK = customer_address.CA_ADDRESS_SK + and ( + household_demographics.HD_DEP_COUNT = 3 + or household_demographics.HD_VEHICLE_COUNT = -1 + ) + and date_dim.D_DOW in (6, 0) + and date_dim.D_YEAR in (1998, 1998 + 1, 1998 + 2) + and store.S_CITY in ( + 'Five Points', + 'Fairview', + 'Fairview', + 'Midway', + 'Riverside' + ) + group by SS_TICKET_NUMBER, + SS_CUSTOMER_SK, + SS_ADDR_SK, + CA_CITY + ) dn, + customer, + customer_address current_addr +where SS_CUSTOMER_SK = C_CUSTOMER_SK + and customer.C_CURRENT_ADDR_SK = current_addr.CA_ADDRESS_SK + and current_addr.CA_CITY <> bought_city +order by C_LAST_NAME, + C_FIRST_NAME, + CA_CITY, + bought_city, + SS_TICKET_NUMBER option (label = 'TPCDS-Q46'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query47.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query47.sql new file mode 100644 index 00000000..37d289f8 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query47.sql @@ -0,0 +1,81 @@ +with v1 as( + select I_CATEGORY, + I_BRAND, + S_STORE_NAME, + S_COMPANY_NAME, + D_YEAR, + D_MOY, + sum(SS_SALES_PRICE) sum_sales, + avg(sum(SS_SALES_PRICE)) over ( + partition by I_CATEGORY, + I_BRAND, + S_STORE_NAME, + S_COMPANY_NAME, + D_YEAR + ) avg_monthly_sales, + rank() over ( + partition by I_CATEGORY, + I_BRAND, + S_STORE_NAME, + S_COMPANY_NAME + order by D_YEAR, + D_MOY + ) rn + from item, + store_sales, + date_dim, + store + where SS_ITEM_SK = I_ITEM_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and SS_STORE_SK = S_STORE_SK + and ( + D_YEAR = 2001 + or ( + D_YEAR = 2001 -1 + and D_MOY = 12 + ) + or ( + D_YEAR = 2001 + 1 + and D_MOY = 1 + ) + ) + group by I_CATEGORY, + I_BRAND, + S_STORE_NAME, + S_COMPANY_NAME, + D_YEAR, + D_MOY +), +v2 as( + select v1.I_CATEGORY, + v1.I_BRAND, + v1.D_YEAR, + v1.D_MOY, + v1.avg_monthly_sales, + v1.sum_sales, + v1_lag.sum_sales psum, + v1_lead.sum_sales nsum + from v1, + v1 v1_lag, + v1 v1_lead + where v1.I_CATEGORY = v1_lag.I_CATEGORY + and v1.I_CATEGORY = v1_lead.I_CATEGORY + and v1.I_BRAND = v1_lag.I_BRAND + and v1.I_BRAND = v1_lead.I_BRAND + and v1.S_STORE_NAME = v1_lag.S_STORE_NAME + and v1.S_STORE_NAME = v1_lead.S_STORE_NAME + and v1.S_COMPANY_NAME = v1_lag.S_COMPANY_NAME + and v1.S_COMPANY_NAME = v1_lead.S_COMPANY_NAME + and v1.rn = v1_lag.rn + 1 + and v1.rn = v1_lead.rn - 1 +) +select top 100 * +from v2 +where D_YEAR = 2001 + and avg_monthly_sales > 0 + and case + when avg_monthly_sales > 0 then abs(sum_sales - avg_monthly_sales) / avg_monthly_sales + else null + end > 0.1 +order by sum_sales - avg_monthly_sales, + psum option (label = 'TPCDS-Q47'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query48.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query48.sql new file mode 100644 index 00000000..b2561b22 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query48.sql @@ -0,0 +1,49 @@ +select sum (SS_QUANTITY) +from store_sales, + store, + customer_demographics, + customer_address, + date_dim +where S_STORE_SK = SS_STORE_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2000 + and ( + ( + CD_DEMO_SK = SS_CDEMO_SK + and CD_MARITAL_STATUS = 'U' + and CD_EDUCATION_STATUS = 'Advanced Degree' + and SS_SALES_PRICE between 100.00 and 150.00 + ) + or ( + CD_DEMO_SK = SS_CDEMO_SK + and CD_MARITAL_STATUS = 'D' + and CD_EDUCATION_STATUS = 'Unknown' + and SS_SALES_PRICE between 50.00 and 100.00 + ) + or ( + CD_DEMO_SK = SS_CDEMO_SK + and CD_MARITAL_STATUS = 'M' + and CD_EDUCATION_STATUS = 'Secondary' + and SS_SALES_PRICE between 150.00 and 200.00 + ) + ) + and ( + ( + SS_ADDR_SK = CA_ADDRESS_SK + and CA_COUNTRY = 'United States' + and CA_STATE in ('OH', 'AR', 'WI') + and SS_NET_PROFIT between 0 and 2000 + ) + or ( + SS_ADDR_SK = CA_ADDRESS_SK + and CA_COUNTRY = 'United States' + and CA_STATE in ('AL', 'CO', 'IA') + and SS_NET_PROFIT between 150 and 3000 + ) + or ( + SS_ADDR_SK = CA_ADDRESS_SK + and CA_COUNTRY = 'United States' + and CA_STATE in ('IN', 'PA', 'KS') + and SS_NET_PROFIT between 50 and 25000 + ) + ) option (label = 'TPCDS-Q48'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query49.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query49.sql new file mode 100644 index 00000000..e2c0e81f --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query49.sql @@ -0,0 +1,166 @@ +select top 100 channel, + item, + return_ratio, + return_rank, + currency_rank +from ( + select 'web' as channel, + web.item, + web.return_ratio, + web.return_rank, + web.currency_rank + from ( + select item, + return_ratio, + currency_ratio, + rank() over ( + order by return_ratio + ) as return_rank, + rank() over ( + order by currency_ratio + ) as currency_rank + from ( + select ws.WS_ITEM_SK as item, +( + cast( + sum(coalesce(wr.WR_RETURN_QUANTITY, 0)) as decimal(15, 4) + ) / cast( + sum(coalesce(ws.WS_QUANTITY, 0)) as decimal(15, 4) + ) + ) as return_ratio, +( + cast( + sum(coalesce(wr.WR_RETURN_AMT, 0)) as decimal(15, 4) + ) / cast( + sum(coalesce(ws.WS_NET_PAID, 0)) as decimal(15, 4) + ) + ) as currency_ratio + from web_sales ws + left outer join web_returns wr on ( + ws.WS_ORDER_NUMBER = wr.WR_ORDER_NUMBER + and ws.WS_ITEM_SK = wr.WR_ITEM_SK + ), + date_dim + where wr.WR_RETURN_AMT > 10000 + and ws.WS_NET_PROFIT > 1 + and ws.WS_NET_PAID > 0 + and ws.WS_QUANTITY > 0 + and WS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 1999 + and D_MOY = 11 + group by ws.WS_ITEM_SK + ) in_web + ) web + where ( + web.return_rank <= 10 + or web.currency_rank <= 10 + ) + union + select 'catalog' as channel, + catalog.item, + catalog.return_ratio, + catalog.return_rank, + catalog.currency_rank + from ( + select item, + return_ratio, + currency_ratio, + rank() over ( + order by return_ratio + ) as return_rank, + rank() over ( + order by currency_ratio + ) as currency_rank + from ( + select cs.CS_ITEM_SK as item, +( + cast( + sum(coalesce(cr.CR_RETURN_QUANTITY, 0)) as decimal(15, 4) + ) / cast( + sum(coalesce(cs.CS_QUANTITY, 0)) as decimal(15, 4) + ) + ) as return_ratio, +( + cast( + sum(coalesce(cr.CR_RETURN_AMOUNT, 0)) as decimal(15, 4) + ) / cast( + sum(coalesce(cs.CS_NET_PAID, 0)) as decimal(15, 4) + ) + ) as currency_ratio + from catalog_sales cs + left outer join catalog_returns cr on ( + cs.CS_ORDER_NUMBER = cr.CR_ORDER_NUMBER + and cs.CS_ITEM_SK = cr.CR_ITEM_SK + ), + date_dim + where cr.CR_RETURN_AMOUNT > 10000 + and cs.CS_NET_PROFIT > 1 + and cs.CS_NET_PAID > 0 + and cs.CS_QUANTITY > 0 + and CS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 1999 + and D_MOY = 11 + group by cs.CS_ITEM_SK + ) in_cat + ) catalog + where ( + catalog.return_rank <= 10 + or catalog.currency_rank <= 10 + ) + union + select 'store' as channel, + store.item, + store.return_ratio, + store.return_rank, + store.currency_rank + from ( + select item, + return_ratio, + currency_ratio, + rank() over ( + order by return_ratio + ) as return_rank, + rank() over ( + order by currency_ratio + ) as currency_rank + from ( + select sts.SS_ITEM_SK as item, +( + cast( + sum(coalesce(sr.SR_RETURN_QUANTITY, 0)) as decimal(15, 4) + ) / cast( + sum(coalesce(sts.SS_QUANTITY, 0)) as decimal(15, 4) + ) + ) as return_ratio, +( + cast( + sum(coalesce(sr.SR_RETURN_AMT, 0)) as decimal(15, 4) + ) / cast( + sum(coalesce(sts.SS_NET_PAID, 0)) as decimal(15, 4) + ) + ) as currency_ratio + from store_sales sts + left outer join store_returns sr on ( + sts.SS_TICKET_NUMBER = sr.SR_TICKET_NUMBER + and sts.SS_ITEM_SK = sr.SR_ITEM_SK + ), + date_dim + where sr.SR_RETURN_AMT > 10000 + and sts.SS_NET_PROFIT > 1 + and sts.SS_NET_PAID > 0 + and sts.SS_QUANTITY > 0 + and SS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 1999 + and D_MOY = 11 + group by sts.SS_ITEM_SK + ) in_store + ) store + where ( + store.return_rank <= 10 + or store.currency_rank <= 10 + ) + ) as x +order by 1, + 4, + 5, + 2 option (label = 'TPCDS-Q49'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query5.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query5.sql new file mode 100644 index 00000000..c29e64b9 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query5.sql @@ -0,0 +1,127 @@ +with ssr as ( + select S_STORE_ID, + sum(sales_price) as sales, + sum(profit) as profit, + sum(return_amt) as returns, + sum(net_loss) as profit_loss + from ( + select SS_STORE_SK as store_sk, + SS_SOLD_DATE_SK as date_sk, + SS_EXT_SALES_PRICE as sales_price, + SS_NET_PROFIT as profit, + cast(0 as decimal(7, 2)) as return_amt, + cast(0 as decimal(7, 2)) as net_loss + from store_sales + union all + select SR_STORE_SK as store_sk, + SR_RETURNED_DATE_SK as date_sk, + cast(0 as decimal(7, 2)) as sales_price, + cast(0 as decimal(7, 2)) as profit, + SR_RETURN_AMT as return_amt, + SR_NET_LOSS as net_loss + from store_returns + ) salesreturns, + date_dim, + store + where date_sk = D_DATE_SK + and D_DATE between cast('2000-08-21' as date) + and dateadd(day, 14, (cast('2000-08-21' as date))) + and store_sk = S_STORE_SK + group by S_STORE_ID +), +csr as ( + select CP_CATALOG_PAGE_ID, + sum(sales_price) as sales, + sum(profit) as profit, + sum(return_amt) as returns, + sum(net_loss) as profit_loss + from ( + select CS_CATALOG_PAGE_SK as page_sk, + CS_SOLD_DATE_SK as date_sk, + CS_EXT_SALES_PRICE as sales_price, + CS_NET_PROFIT as profit, + cast(0 as decimal(7, 2)) as return_amt, + cast(0 as decimal(7, 2)) as net_loss + from catalog_sales + union all + select CR_CATALOG_PAGE_SK as page_sk, + CR_RETURNED_DATE_SK as date_sk, + cast(0 as decimal(7, 2)) as sales_price, + cast(0 as decimal(7, 2)) as profit, + CR_RETURN_AMOUNT as return_amt, + CR_NET_LOSS as net_loss + from catalog_returns + ) salesreturns, + date_dim, + catalog_page + where date_sk = D_DATE_SK + and D_DATE between cast('2000-08-21' as date) + and dateadd(day, 14, (cast('2000-08-21' as date))) + and page_sk = CP_CATALOG_PAGE_SK + group by CP_CATALOG_PAGE_ID +), +wsr as ( + select WEB_SITE_ID, + sum(sales_price) as sales, + sum(profit) as profit, + sum(return_amt) as returns, + sum(net_loss) as profit_loss + from ( + select WS_WEB_SITE_SK as wsr_web_site_sk, + WS_SOLD_DATE_SK as date_sk, + WS_EXT_SALES_PRICE as sales_price, + WS_NET_PROFIT as profit, + cast(0 as decimal(7, 2)) as return_amt, + cast(0 as decimal(7, 2)) as net_loss + from web_sales + union all + select WS_WEB_SITE_SK as wsr_web_site_sk, + WR_RETURNED_DATE_SK as date_sk, + cast(0 as decimal(7, 2)) as sales_price, + cast(0 as decimal(7, 2)) as profit, + WR_RETURN_AMT as return_amt, + WR_NET_LOSS as net_loss + from web_returns + left outer join web_sales on ( + WR_ITEM_SK = WS_ITEM_SK + and WR_ORDER_NUMBER = WS_ORDER_NUMBER + ) + ) salesreturns, + date_dim, + web_site + where date_sk = D_DATE_SK + and D_DATE between cast('2000-08-21' as date) + and dateadd(day, 14, (cast('2000-08-21' as date))) + and wsr_web_site_sk = WEB_SITE_SK + group by WEB_SITE_ID +) +select top 100 channel, + id, + sum(sales) as sales, + sum(returns) as returns, + sum(profit) as profit +from ( + select 'store channel' as channel, + 'store' + S_STORE_ID as id, + sales, + returns, + (profit - profit_loss) as profit + from ssr + union all + select 'catalog channel' as channel, + 'catalog_page' + CP_CATALOG_PAGE_ID as id, + sales, + returns, + (profit - profit_loss) as profit + from csr + union all + select 'web channel' as channel, + 'web_site' + WEB_SITE_ID as id, + sales, + returns, + (profit - profit_loss) as profit + from wsr + ) x +group by rollup (channel, id) +order by channel, + id option (label = 'TPCDS-Q5'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query50.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query50.sql new file mode 100644 index 00000000..9faad29f --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query50.sql @@ -0,0 +1,76 @@ +select top 100 S_STORE_NAME, + S_COMPANY_ID, + S_STREET_NUMBER, + S_STREET_NAME, + S_STREET_TYPE, + S_SUITE_NUMBER, + S_CITY, + S_COUNTY, + S_STATE, + S_ZIP, + sum( + case + when (SR_RETURNED_DATE_SK - SS_SOLD_DATE_SK <= 30) then 1 + else 0 + end + ) as "30 days", + sum( + case + when (SR_RETURNED_DATE_SK - SS_SOLD_DATE_SK > 30) + and (SR_RETURNED_DATE_SK - SS_SOLD_DATE_SK <= 60) then 1 + else 0 + end + ) as "31-60 days", + sum( + case + when (SR_RETURNED_DATE_SK - SS_SOLD_DATE_SK > 60) + and (SR_RETURNED_DATE_SK - SS_SOLD_DATE_SK <= 90) then 1 + else 0 + end + ) as "61-90 days", + sum( + case + when (SR_RETURNED_DATE_SK - SS_SOLD_DATE_SK > 90) + and (SR_RETURNED_DATE_SK - SS_SOLD_DATE_SK <= 120) then 1 + else 0 + end + ) as "91-120 days", + sum( + case + when (SR_RETURNED_DATE_SK - SS_SOLD_DATE_SK > 120) then 1 + else 0 + end + ) as ">120 days" +from store_sales, + store_returns, + store, + date_dim d1, + date_dim d2 +where d2.D_YEAR = 1999 + and d2.D_MOY = 8 + and SS_TICKET_NUMBER = SR_TICKET_NUMBER + and SS_ITEM_SK = SR_ITEM_SK + and SS_SOLD_DATE_SK = d1.D_DATE_SK + and SR_RETURNED_DATE_SK = d2.D_DATE_SK + and SS_CUSTOMER_SK = SR_CUSTOMER_SK + and SS_STORE_SK = S_STORE_SK +group by S_STORE_NAME, + S_COMPANY_ID, + S_STREET_NUMBER, + S_STREET_NAME, + S_STREET_TYPE, + S_SUITE_NUMBER, + S_CITY, + S_COUNTY, + S_STATE, + S_ZIP +order by S_STORE_NAME, + S_COMPANY_ID, + S_STREET_NUMBER, + S_STREET_NAME, + S_STREET_TYPE, + S_SUITE_NUMBER, + S_CITY, + S_COUNTY, + S_STATE, + S_ZIP option (label = 'TPCDS-Q50'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query51.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query51.sql new file mode 100644 index 00000000..04aed22e --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query51.sql @@ -0,0 +1,65 @@ +WITH web_v1 as ( + select WS_ITEM_SK item_sk, + D_DATE, + sum(sum(WS_SALES_PRICE)) over ( + partition by WS_ITEM_SK + order by D_DATE rows between unbounded preceding and current row + ) cume_sales + from web_sales, + date_dim + where WS_SOLD_DATE_SK = D_DATE_SK + and D_MONTH_SEQ between 1176 and 1176 + 11 + and WS_ITEM_SK is not NULL + group by WS_ITEM_SK, + D_DATE +), +store_v1 as ( + select SS_ITEM_SK item_sk, + D_DATE, + sum(sum(SS_SALES_PRICE)) over ( + partition by SS_ITEM_SK + order by D_DATE rows between unbounded preceding and current row + ) cume_sales + from store_sales, + date_dim + where SS_SOLD_DATE_SK = D_DATE_SK + and D_MONTH_SEQ between 1176 and 1176 + 11 + and SS_ITEM_SK is not NULL + group by SS_ITEM_SK, + D_DATE +) +select top 100 * +from ( + select item_sk, + D_DATE, + web_sales, + store_sales, + max(web_sales) over ( + partition by item_sk + order by D_DATE rows between unbounded preceding and current row + ) web_cumulative, + max(store_sales) over ( + partition by item_sk + order by D_DATE rows between unbounded preceding and current row + ) store_cumulative + from ( + select case + when web.item_sk is not null then web.item_sk + else store.item_sk + end item_sk, +case + when web.D_DATE is not null then web.D_DATE + else store.D_DATE + end D_DATE, + web.cume_sales web_sales, + store.cume_sales store_sales + from web_v1 web + full outer join store_v1 store on ( + web.item_sk = store.item_sk + and web.D_DATE = store.D_DATE + ) + ) x + ) y +where web_cumulative > store_cumulative +order by item_sk, + D_DATE option (label = 'TPCDS-Q51'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query52.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query52.sql new file mode 100644 index 00000000..03c0ddaa --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query52.sql @@ -0,0 +1,18 @@ +select top 100 dt.D_YEAR, + item.I_BRAND_ID brand_id, + item.I_BRAND brand, + sum(SS_EXT_SALES_PRICE) ext_price +from date_dim dt, + store_sales, + item +where dt.D_DATE_SK = store_sales.SS_SOLD_DATE_SK + and store_sales.SS_ITEM_SK = item.I_ITEM_SK + and item.I_MANAGER_ID = 1 + and dt.D_MOY = 12 + and dt.D_YEAR = 2000 +group by dt.D_YEAR, + item.I_BRAND, + item.I_BRAND_ID +order by dt.D_YEAR, + ext_price desc, + brand_id option (label = 'TPCDS-Q52'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query53.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query53.sql new file mode 100644 index 00000000..f5759704 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query53.sql @@ -0,0 +1,58 @@ +select top 100 * +from ( + select I_MANUFACT_ID, + sum(SS_SALES_PRICE) sum_sales, + avg(sum(SS_SALES_PRICE)) over (partition by I_MANUFACT_ID) avg_quarterly_sales + from item, + store_sales, + date_dim, + store + where SS_ITEM_SK = I_ITEM_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and SS_STORE_SK = S_STORE_SK + and D_MONTH_SEQ in ( + 1176, + 1176 + 1, + 1176 + 2, + 1176 + 3, + 1176 + 4, + 1176 + 5, + 1176 + 6, + 1176 + 7, + 1176 + 8, + 1176 + 9, + 1176 + 10, + 1176 + 11 + ) + and ( + ( + I_CATEGORY in ('Books', 'Children', 'Electronics') + and I_CLASS in ('personal', 'portable', 'reference', 'self-help') + and I_BRAND in ( + 'scholaramalgamalg #14', + 'scholaramalgamalg #7', + 'exportiunivamalg #9', + 'scholaramalgamalg #9' + ) + ) + or( + I_CATEGORY in ('Women', 'Music', 'Men') + and I_CLASS in ('accessories', 'classical', 'fragrances', 'pants') + and I_BRAND in ( + 'amalgimporto #1', + 'edu packscholar #1', + 'exportiimporto #1', + 'importoamalg #1' + ) + ) + ) + group by I_MANUFACT_ID, + D_QOY + ) tmp1 +where case + when avg_quarterly_sales > 0 then abs (sum_sales - avg_quarterly_sales) / avg_quarterly_sales + else null + end > 0.1 +order by avg_quarterly_sales, + sum_sales, + I_MANUFACT_ID option (label = 'TPCDS-Q53'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query54.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query54.sql new file mode 100644 index 00000000..523d3be6 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query54.sql @@ -0,0 +1,63 @@ +with my_customers as ( + select distinct C_CUSTOMER_SK, + C_CURRENT_ADDR_SK + from ( + select CS_SOLD_DATE_SK sold_date_sk, + CS_BILL_CUSTOMER_SK customer_sk, + CS_ITEM_SK item_sk + from catalog_sales + union all + select WS_SOLD_DATE_SK sold_date_sk, + WS_BILL_CUSTOMER_SK customer_sk, + WS_ITEM_SK item_sk + from web_sales + ) cs_or_ws_sales, + item, + date_dim, + customer + where sold_date_sk = D_DATE_SK + and item_sk = I_ITEM_SK + and I_CATEGORY = 'Children' + and I_CLASS = 'infants' + and C_CUSTOMER_SK = cs_or_ws_sales.customer_sk + and D_MOY = 2 + and D_YEAR = 2001 +), +my_revenue as ( + select C_CUSTOMER_SK, + sum(SS_EXT_SALES_PRICE) as revenue + from my_customers, + store_sales, + customer_address, + store, + date_dim + where C_CURRENT_ADDR_SK = CA_ADDRESS_SK + and CA_COUNTY = S_COUNTY + and CA_STATE = S_STATE + and SS_SOLD_DATE_SK = D_DATE_SK + and C_CUSTOMER_SK = SS_CUSTOMER_SK + and D_MONTH_SEQ between ( + select distinct D_MONTH_SEQ + 1 + from date_dim + where D_YEAR = 2001 + and D_MOY = 2 + ) + and ( + select distinct D_MONTH_SEQ + 3 + from date_dim + where D_YEAR = 2001 + and D_MOY = 2 + ) + group by C_CUSTOMER_SK +), +segments as ( + select cast((revenue / 50) as int) as segment + from my_revenue +) +select top 100 segment, + count(*) as num_customers, + segment * 50 as segment_base +from segments +group by segment +order by segment, + num_customers option (label = 'TPCDS-Q54'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query55.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query55.sql new file mode 100644 index 00000000..427be62d --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query55.sql @@ -0,0 +1,15 @@ +select top 100 I_BRAND_ID brand_id, + I_BRAND brand, + sum(SS_EXT_SALES_PRICE) ext_price +from date_dim, + store_sales, + item +where D_DATE_SK = SS_SOLD_DATE_SK + and SS_ITEM_SK = I_ITEM_SK + and I_MANAGER_ID = 43 + and D_MOY = 12 + and D_YEAR = 1998 +group by I_BRAND, + I_BRAND_ID +order by ext_price desc, + I_BRAND_ID option (label = 'TPCDS-Q55'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query56.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query56.sql new file mode 100644 index 00000000..44647d99 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query56.sql @@ -0,0 +1,75 @@ +with ss as ( + select I_ITEM_ID, + sum(SS_EXT_SALES_PRICE) total_sales + from store_sales, + date_dim, + customer_address, + item + where I_ITEM_ID in ( + select I_ITEM_ID + from item + where I_COLOR in ('forest', 'brown', 'azure') + ) + and SS_ITEM_SK = I_ITEM_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2000 + and D_MOY = 4 + and SS_ADDR_SK = CA_ADDRESS_SK + and CA_GMT_OFFSET = -7 + group by I_ITEM_ID +), +cs as ( + select I_ITEM_ID, + sum(CS_EXT_SALES_PRICE) total_sales + from catalog_sales, + date_dim, + customer_address, + item + where I_ITEM_ID in ( + select I_ITEM_ID + from item + where I_COLOR in ('forest', 'brown', 'azure') + ) + and CS_ITEM_SK = I_ITEM_SK + and CS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2000 + and D_MOY = 4 + and CS_BILL_ADDR_SK = CA_ADDRESS_SK + and CA_GMT_OFFSET = -7 + group by I_ITEM_ID +), +ws as ( + select I_ITEM_ID, + sum(WS_EXT_SALES_PRICE) total_sales + from web_sales, + date_dim, + customer_address, + item + where I_ITEM_ID in ( + select I_ITEM_ID + from item + where I_COLOR in ('forest', 'brown', 'azure') + ) + and WS_ITEM_SK = I_ITEM_SK + and WS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2000 + and D_MOY = 4 + and WS_BILL_ADDR_SK = CA_ADDRESS_SK + and CA_GMT_OFFSET = -7 + group by I_ITEM_ID +) +select top 100 I_ITEM_ID, + sum(total_sales) total_sales +from ( + select * + from ss + union all + select * + from cs + union all + select * + from ws + ) tmp1 +group by I_ITEM_ID +order by total_sales, + I_ITEM_ID option (label = 'TPCDS-Q56'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query57.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query57.sql new file mode 100644 index 00000000..ef3252ef --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query57.sql @@ -0,0 +1,74 @@ +with v1 as( + select I_CATEGORY, + I_BRAND, + CC_NAME, + D_YEAR, + D_MOY, + sum(CS_SALES_PRICE) sum_sales, + avg(sum(CS_SALES_PRICE)) over ( + partition by I_CATEGORY, + I_BRAND, + CC_NAME, + D_YEAR + ) avg_monthly_sales, + rank() over ( + partition by I_CATEGORY, + I_BRAND, + CC_NAME + order by D_YEAR, + D_MOY + ) rn + from item, + catalog_sales, + date_dim, + call_center + where CS_ITEM_SK = I_ITEM_SK + and CS_SOLD_DATE_SK = D_DATE_SK + and CC_CALL_CENTER_SK = CS_CALL_CENTER_SK + and ( + D_YEAR = 2001 + or ( + D_YEAR = 2001 -1 + and D_MOY = 12 + ) + or ( + D_YEAR = 2001 + 1 + and D_MOY = 1 + ) + ) + group by I_CATEGORY, + I_BRAND, + CC_NAME, + D_YEAR, + D_MOY +), +v2 as( + select v1.I_CATEGORY, + v1.D_YEAR, + v1.D_MOY, + v1.avg_monthly_sales, + v1.sum_sales, + v1_lag.sum_sales psum, + v1_lead.sum_sales nsum + from v1, + v1 v1_lag, + v1 v1_lead + where v1.I_CATEGORY = v1_lag.I_CATEGORY + and v1.I_CATEGORY = v1_lead.I_CATEGORY + and v1.I_BRAND = v1_lag.I_BRAND + and v1.I_BRAND = v1_lead.I_BRAND + and v1.CC_NAME = v1_lag.CC_NAME + and v1.CC_NAME = v1_lead.CC_NAME + and v1.rn = v1_lag.rn + 1 + and v1.rn = v1_lead.rn - 1 +) +select top 100 * +from v2 +where D_YEAR = 2001 + and avg_monthly_sales > 0 + and case + when avg_monthly_sales > 0 then abs(sum_sales - avg_monthly_sales) / avg_monthly_sales + else null + end > 0.1 +order by sum_sales - avg_monthly_sales, + psum option (label = 'TPCDS-Q57'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query58.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query58.sql new file mode 100644 index 00000000..8ff11844 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query58.sql @@ -0,0 +1,78 @@ +with ss_items as ( + select I_ITEM_ID item_id, + sum(SS_EXT_SALES_PRICE) ss_item_rev + from store_sales, + item, + date_dim + where SS_ITEM_SK = I_ITEM_SK + and D_DATE in ( + select D_DATE + from date_dim + where D_WEEK_SEQ = ( + select D_WEEK_SEQ + from date_dim + where D_DATE = '2000-07-19' + ) + ) + and SS_SOLD_DATE_SK = D_DATE_SK + group by I_ITEM_ID +), +cs_items as ( + select I_ITEM_ID item_id, + sum(CS_EXT_SALES_PRICE) cs_item_rev + from catalog_sales, + item, + date_dim + where CS_ITEM_SK = I_ITEM_SK + and D_DATE in ( + select D_DATE + from date_dim + where D_WEEK_SEQ = ( + select D_WEEK_SEQ + from date_dim + where D_DATE = '2000-07-19' + ) + ) + and CS_SOLD_DATE_SK = D_DATE_SK + group by I_ITEM_ID +), +ws_items as ( + select I_ITEM_ID item_id, + sum(WS_EXT_SALES_PRICE) ws_item_rev + from web_sales, + item, + date_dim + where WS_ITEM_SK = I_ITEM_SK + and D_DATE in ( + select D_DATE + from date_dim + where D_WEEK_SEQ =( + select D_WEEK_SEQ + from date_dim + where D_DATE = '2000-07-19' + ) + ) + and WS_SOLD_DATE_SK = D_DATE_SK + group by I_ITEM_ID +) +select top 100 ss_items.item_id, + ss_item_rev, + ss_item_rev /((ss_item_rev + cs_item_rev + ws_item_rev) / 3) * 100 ss_dev, + cs_item_rev, + cs_item_rev /((ss_item_rev + cs_item_rev + ws_item_rev) / 3) * 100 cs_dev, + ws_item_rev, + ws_item_rev /((ss_item_rev + cs_item_rev + ws_item_rev) / 3) * 100 ws_dev, +(ss_item_rev + cs_item_rev + ws_item_rev) / 3 average +from ss_items, + cs_items, + ws_items +where ss_items.item_id = cs_items.item_id + and ss_items.item_id = ws_items.item_id + and ss_item_rev between 0.9 * cs_item_rev and 1.1 * cs_item_rev + and ss_item_rev between 0.9 * ws_item_rev and 1.1 * ws_item_rev + and cs_item_rev between 0.9 * ss_item_rev and 1.1 * ss_item_rev + and cs_item_rev between 0.9 * ws_item_rev and 1.1 * ws_item_rev + and ws_item_rev between 0.9 * ss_item_rev and 1.1 * ss_item_rev + and ws_item_rev between 0.9 * cs_item_rev and 1.1 * cs_item_rev +order by item_id, + ss_item_rev option (label = 'TPCDS-Q58'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query59.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query59.sql new file mode 100644 index 00000000..60516587 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query59.sql @@ -0,0 +1,102 @@ +with wss as ( + select D_WEEK_SEQ, + SS_STORE_SK, + sum( + case + when (D_DAY_NAME = 'Sunday') then SS_SALES_PRICE + else null + end + ) sun_sales, + sum( + case + when (D_DAY_NAME = 'Monday') then SS_SALES_PRICE + else null + end + ) mon_sales, + sum( + case + when (D_DAY_NAME = 'Tuesday') then SS_SALES_PRICE + else null + end + ) tue_sales, + sum( + case + when (D_DAY_NAME = 'Wednesday') then SS_SALES_PRICE + else null + end + ) wed_sales, + sum( + case + when (D_DAY_NAME = 'Thursday') then SS_SALES_PRICE + else null + end + ) thu_sales, + sum( + case + when (D_DAY_NAME = 'Friday') then SS_SALES_PRICE + else null + end + ) fri_sales, + sum( + case + when (D_DAY_NAME = 'Saturday') then SS_SALES_PRICE + else null + end + ) sat_sales + from store_sales, + date_dim + where D_DATE_SK = SS_SOLD_DATE_SK + group by D_WEEK_SEQ, + SS_STORE_SK +) +select top 100 s_store_name1, + s_store_id1, + d_week_seq1, + sun_sales1 / sun_sales2, + mon_sales1 / mon_sales2, + tue_sales1 / tue_sales2, + wed_sales1 / wed_sales2, + thu_sales1 / thu_sales2, + fri_sales1 / fri_sales2, + sat_sales1 / sat_sales2 +from ( + select S_STORE_NAME s_store_name1, + wss.D_WEEK_SEQ d_week_seq1, + S_STORE_ID s_store_id1, + sun_sales sun_sales1, + mon_sales mon_sales1, + tue_sales tue_sales1, + wed_sales wed_sales1, + thu_sales thu_sales1, + fri_sales fri_sales1, + sat_sales sat_sales1 + from wss, + store, + date_dim d + where d.D_WEEK_SEQ = wss.D_WEEK_SEQ + and SS_STORE_SK = S_STORE_SK + and D_MONTH_SEQ between 1190 and 1190 + 11 + ) y, + ( + select S_STORE_NAME s_store_name2, + wss.D_WEEK_SEQ d_week_seq2, + S_STORE_ID s_store_id2, + sun_sales sun_sales2, + mon_sales mon_sales2, + tue_sales tue_sales2, + wed_sales wed_sales2, + thu_sales thu_sales2, + fri_sales fri_sales2, + sat_sales sat_sales2 + from wss, + store, + date_dim d + where d.D_WEEK_SEQ = wss.D_WEEK_SEQ + and SS_STORE_SK = S_STORE_SK + and D_MONTH_SEQ between 1190 + 12 and 1190 + 23 + ) x +where s_store_id1 = s_store_id2 + and d_week_seq1 = d_week_seq2 -52 +order by s_store_name1, + s_store_id1, + d_week_seq1 option (label = 'TPCDS-Q59'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query6.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query6.sql new file mode 100644 index 00000000..acc6d046 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query6.sql @@ -0,0 +1,26 @@ +select top 100 a.CA_STATE state, + count(*) cnt +from customer_address a, + customer c, + store_sales s, + date_dim d, + item i +where a.CA_ADDRESS_SK = c.C_CURRENT_ADDR_SK + and c.C_CUSTOMER_SK = s.SS_CUSTOMER_SK + and s.SS_SOLD_DATE_SK = d.D_DATE_SK + and s.SS_ITEM_SK = i.I_ITEM_SK + and d.D_MONTH_SEQ = ( + select distinct (D_MONTH_SEQ) + from date_dim + where D_YEAR = 1999 + and D_MOY = 1 + ) + and i.I_CURRENT_PRICE > 1.2 * ( + select avg(j.I_CURRENT_PRICE) + from item j + where j.I_CATEGORY = i.I_CATEGORY + ) +group by a.CA_STATE +having count(*) >= 10 +order by cnt, + a.CA_STATE option (label = 'TPCDS-Q6'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query60.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query60.sql new file mode 100644 index 00000000..866ba4c7 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query60.sql @@ -0,0 +1,75 @@ +with ss as ( + select I_ITEM_ID, + sum(SS_EXT_SALES_PRICE) total_sales + from store_sales, + date_dim, + customer_address, + item + where I_ITEM_ID in ( + select I_ITEM_ID + from item + where I_CATEGORY in ('Music') + ) + and SS_ITEM_SK = I_ITEM_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2001 + and D_MOY = 8 + and SS_ADDR_SK = CA_ADDRESS_SK + and CA_GMT_OFFSET = -6 + group by I_ITEM_ID +), +cs as ( + select I_ITEM_ID, + sum(CS_EXT_SALES_PRICE) total_sales + from catalog_sales, + date_dim, + customer_address, + item + where I_ITEM_ID in ( + select I_ITEM_ID + from item + where I_CATEGORY in ('Music') + ) + and CS_ITEM_SK = I_ITEM_SK + and CS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2001 + and D_MOY = 8 + and CS_BILL_ADDR_SK = CA_ADDRESS_SK + and CA_GMT_OFFSET = -6 + group by I_ITEM_ID +), +ws as ( + select I_ITEM_ID, + sum(WS_EXT_SALES_PRICE) total_sales + from web_sales, + date_dim, + customer_address, + item + where I_ITEM_ID in ( + select I_ITEM_ID + from item + where I_CATEGORY in ('Music') + ) + and WS_ITEM_SK = I_ITEM_SK + and WS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2001 + and D_MOY = 8 + and WS_BILL_ADDR_SK = CA_ADDRESS_SK + and CA_GMT_OFFSET = -6 + group by I_ITEM_ID +) +select top 100 I_ITEM_ID, + sum(total_sales) total_sales +from ( + select * + from ss + union all + select * + from cs + union all + select * + from ws + ) tmp1 +group by I_ITEM_ID +order by I_ITEM_ID, + total_sales option (label = 'TPCDS-Q60'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query61.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query61.sql new file mode 100644 index 00000000..f7fec577 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query61.sql @@ -0,0 +1,50 @@ +select top 100 promotions, + total, + cast(promotions as decimal(15, 4)) / cast(total as decimal(15, 4)) * 100 +from ( + select sum(SS_EXT_SALES_PRICE) promotions + from store_sales, + store, + promotion, + date_dim, + customer, + customer_address, + item + where SS_SOLD_DATE_SK = D_DATE_SK + and SS_STORE_SK = S_STORE_SK + and SS_PROMO_SK = P_PROMO_SK + and SS_CUSTOMER_SK = C_CUSTOMER_SK + and CA_ADDRESS_SK = C_CURRENT_ADDR_SK + and SS_ITEM_SK = I_ITEM_SK + and CA_GMT_OFFSET = -7 + and I_CATEGORY = 'Electronics' + and ( + P_CHANNEL_DMAIL = 'Y' + or P_CHANNEL_EMAIL = 'Y' + or P_CHANNEL_TV = 'Y' + ) + and S_GMT_OFFSET = -7 + and D_YEAR = 2001 + and D_MOY = 11 + ) promotional_sales, + ( + select sum(SS_EXT_SALES_PRICE) total + from store_sales, + store, + date_dim, + customer, + customer_address, + item + where SS_SOLD_DATE_SK = D_DATE_SK + and SS_STORE_SK = S_STORE_SK + and SS_CUSTOMER_SK = C_CUSTOMER_SK + and CA_ADDRESS_SK = C_CURRENT_ADDR_SK + and SS_ITEM_SK = I_ITEM_SK + and CA_GMT_OFFSET = -7 + and I_CATEGORY = 'Electronics' + and S_GMT_OFFSET = -7 + and D_YEAR = 2001 + and D_MOY = 11 + ) all_sales +order by promotions, + total option (label = 'TPCDS-Q61'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query62.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query62.sql new file mode 100644 index 00000000..a9e7e59c --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query62.sql @@ -0,0 +1,52 @@ +select top 100 substring(W_WAREHOUSE_NAME, 1, 20), + SM_TYPE, + WEB_NAME, + sum( + case + when (WS_SHIP_DATE_SK - WS_SOLD_DATE_SK <= 30) then 1 + else 0 + end + ) as "30 days", + sum( + case + when (WS_SHIP_DATE_SK - WS_SOLD_DATE_SK > 30) + and (WS_SHIP_DATE_SK - WS_SOLD_DATE_SK <= 60) then 1 + else 0 + end + ) as "31-60 days", + sum( + case + when (WS_SHIP_DATE_SK - WS_SOLD_DATE_SK > 60) + and (WS_SHIP_DATE_SK - WS_SOLD_DATE_SK <= 90) then 1 + else 0 + end + ) as "61-90 days", + sum( + case + when (WS_SHIP_DATE_SK - WS_SOLD_DATE_SK > 90) + and (WS_SHIP_DATE_SK - WS_SOLD_DATE_SK <= 120) then 1 + else 0 + end + ) as "91-120 days", + sum( + case + when (WS_SHIP_DATE_SK - WS_SOLD_DATE_SK > 120) then 1 + else 0 + end + ) as ">120 days" +from web_sales, + warehouse, + ship_mode, + web_site, + date_dim +where D_MONTH_SEQ between 1176 and 1176 + 11 + and WS_SHIP_DATE_SK = D_DATE_SK + and WS_WAREHOUSE_SK = W_WAREHOUSE_SK + and WS_SHIP_MODE_SK = SM_SHIP_MODE_SK + and WS_WEB_SITE_SK = WEB_SITE_SK +group by substring(W_WAREHOUSE_NAME, 1, 20), + SM_TYPE, + WEB_NAME +order by substring(W_WAREHOUSE_NAME, 1, 20), + SM_TYPE, + WEB_NAME option (label = 'TPCDS-Q62'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query63.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query63.sql new file mode 100644 index 00000000..9bb393a7 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query63.sql @@ -0,0 +1,58 @@ +select top 100 * +from ( + select I_MANAGER_ID, + sum(SS_SALES_PRICE) sum_sales, + avg(sum(SS_SALES_PRICE)) over (partition by I_MANAGER_ID) avg_monthly_sales + from item, + store_sales, + date_dim, + store + where SS_ITEM_SK = I_ITEM_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and SS_STORE_SK = S_STORE_SK + and D_MONTH_SEQ in ( + 1176, + 1176 + 1, + 1176 + 2, + 1176 + 3, + 1176 + 4, + 1176 + 5, + 1176 + 6, + 1176 + 7, + 1176 + 8, + 1176 + 9, + 1176 + 10, + 1176 + 11 + ) + and ( + ( + I_CATEGORY in ('Books', 'Children', 'Electronics') + and I_CLASS in ('personal', 'portable', 'reference', 'self-help') + and I_BRAND in ( + 'scholaramalgamalg #14', + 'scholaramalgamalg #7', + 'exportiunivamalg #9', + 'scholaramalgamalg #9' + ) + ) + or( + I_CATEGORY in ('Women', 'Music', 'Men') + and I_CLASS in ('accessories', 'classical', 'fragrances', 'pants') + and I_BRAND in ( + 'amalgimporto #1', + 'edu packscholar #1', + 'exportiimporto #1', + 'importoamalg #1' + ) + ) + ) + group by I_MANAGER_ID, + D_MOY + ) tmp1 +where case + when avg_monthly_sales > 0 then abs (sum_sales - avg_monthly_sales) / avg_monthly_sales + else null + end > 0.1 +order by I_MANAGER_ID, + avg_monthly_sales, + sum_sales option (label = 'TPCDS-Q63'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query64.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query64.sql new file mode 100644 index 00000000..c5c163ea --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query64.sql @@ -0,0 +1,132 @@ +with cs_ui as ( + select CS_ITEM_SK, + sum(CS_EXT_LIST_PRICE) as sale, + sum( + CR_REFUNDED_CASH + CR_REVERSED_CHARGE + CR_STORE_CREDIT + ) as refund + from catalog_sales, + catalog_returns + where CS_ITEM_SK = CR_ITEM_SK + and CS_ORDER_NUMBER = CR_ORDER_NUMBER + group by CS_ITEM_SK + having sum(CS_EXT_LIST_PRICE) > 2 * sum( + CR_REFUNDED_CASH + CR_REVERSED_CHARGE + CR_STORE_CREDIT + ) +), +cross_sales as ( + select I_PRODUCT_NAME product_name, + I_ITEM_SK item_sk, + S_STORE_NAME store_name, + S_ZIP store_zip, + ad1.CA_STREET_NUMBER b_street_number, + ad1.CA_STREET_NAME b_street_name, + ad1.CA_CITY b_city, + ad1.CA_ZIP b_zip, + ad2.CA_STREET_NUMBER c_street_number, + ad2.CA_STREET_NAME c_street_name, + ad2.CA_CITY c_city, + ad2.CA_ZIP c_zip, + d1.D_YEAR as syear, + d2.D_YEAR as fsyear, + d3.D_YEAR s2year, + count(*) cnt, + sum(SS_WHOLESALE_COST) s1, + sum(SS_LIST_PRICE) s2, + sum(SS_COUPON_AMT) s3 + FROM store_sales, + store_returns, + cs_ui, + date_dim d1, + date_dim d2, + date_dim d3, + store, + customer, + customer_demographics cd1, + customer_demographics cd2, + promotion, + household_demographics hd1, + household_demographics hd2, + customer_address ad1, + customer_address ad2, + income_band ib1, + income_band ib2, + item + WHERE SS_STORE_SK = S_STORE_SK + AND SS_SOLD_DATE_SK = d1.D_DATE_SK + AND SS_CUSTOMER_SK = C_CUSTOMER_SK + AND SS_CDEMO_SK = cd1.CD_DEMO_SK + AND SS_HDEMO_SK = hd1.HD_DEMO_SK + AND SS_ADDR_SK = ad1.CA_ADDRESS_SK + and SS_ITEM_SK = I_ITEM_SK + and SS_ITEM_SK = SR_ITEM_SK + and SS_TICKET_NUMBER = SR_TICKET_NUMBER + and SS_ITEM_SK = cs_ui.CS_ITEM_SK + and C_CURRENT_CDEMO_SK = cd2.CD_DEMO_SK + AND C_CURRENT_HDEMO_SK = hd2.HD_DEMO_SK + AND C_CURRENT_ADDR_SK = ad2.CA_ADDRESS_SK + and C_FIRST_SALES_DATE_SK = d2.D_DATE_SK + and C_FIRST_SHIPTO_DATE_SK = d3.D_DATE_SK + and SS_PROMO_SK = P_PROMO_SK + and hd1.HD_INCOME_BAND_SK = ib1.IB_INCOME_BAND_SK + and hd2.HD_INCOME_BAND_SK = ib2.IB_INCOME_BAND_SK + and cd1.CD_MARITAL_STATUS <> cd2.CD_MARITAL_STATUS + and I_COLOR in ( + 'firebrick', + 'chartreuse', + 'plum', + 'white', + 'chiffon', + 'yellow' + ) + and I_CURRENT_PRICE between 49 and 49 + 10 + and I_CURRENT_PRICE between 49 + 1 and 49 + 15 + group by I_PRODUCT_NAME, + I_ITEM_SK, + S_STORE_NAME, + S_ZIP, + ad1.CA_STREET_NUMBER, + ad1.CA_STREET_NAME, + ad1.CA_CITY, + ad1.CA_ZIP, + ad2.CA_STREET_NUMBER, + ad2.CA_STREET_NAME, + ad2.CA_CITY, + ad2.CA_ZIP, + d1.D_YEAR, + d2.D_YEAR, + d3.D_YEAR +) +select cs1.product_name, + cs1.store_name, + cs1.store_zip, + cs1.b_street_number, + cs1.b_street_name, + cs1.b_city, + cs1.b_zip, + cs1.c_street_number, + cs1.c_street_name, + cs1.c_city, + cs1.c_zip, + cs1.syear, + cs1.cnt, + cs1.s1 as s11, + cs1.s2 as s21, + cs1.s3 as s31, + cs2.s1 as s12, + cs2.s2 as s22, + cs2.s3 as s32, + cs2.syear, + cs2.cnt +from cross_sales cs1, + cross_sales cs2 +where cs1.item_sk = cs2.item_sk + and cs1.syear = 1999 + and cs2.syear = 1999 + 1 + and cs2.cnt <= cs1.cnt + and cs1.store_name = cs2.store_name + and cs1.store_zip = cs2.store_zip +order by cs1.product_name, + cs1.store_name, + cs2.cnt, + cs1.s1, + cs2.s1 option (label = 'TPCDS-Q64'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query65.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query65.sql new file mode 100644 index 00000000..93917a3b --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query65.sql @@ -0,0 +1,41 @@ +select top 100 S_STORE_NAME, + I_ITEM_DESC, + sc.revenue, + I_CURRENT_PRICE, + I_WHOLESALE_COST, + I_BRAND +from store, + item, + ( + select SS_STORE_SK, + avg(revenue) as ave + from ( + select SS_STORE_SK, + SS_ITEM_SK, + sum(SS_SALES_PRICE) as revenue + from store_sales, + date_dim + where SS_SOLD_DATE_SK = D_DATE_SK + and D_MONTH_SEQ between 1176 and 1176 + 11 + group by SS_STORE_SK, + SS_ITEM_SK + ) sa + group by SS_STORE_SK + ) sb, + ( + select SS_STORE_SK, + SS_ITEM_SK, + sum(SS_SALES_PRICE) as revenue + from store_sales, + date_dim + where SS_SOLD_DATE_SK = D_DATE_SK + and D_MONTH_SEQ between 1176 and 1176 + 11 + group by SS_STORE_SK, + SS_ITEM_SK + ) sc +where sb.SS_STORE_SK = sc.SS_STORE_SK + and sc.revenue <= 0.1 * sb.ave + and S_STORE_SK = sc.SS_STORE_SK + and I_ITEM_SK = sc.SS_ITEM_SK +order by S_STORE_NAME, + I_ITEM_DESC option (label = 'TPCDS-Q65'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query66.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query66.sql new file mode 100644 index 00000000..ec2353c8 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query66.sql @@ -0,0 +1,398 @@ +select top 100 W_WAREHOUSE_NAME, + W_WAREHOUSE_SQ_FT, + W_CITY, + W_COUNTY, + W_STATE, + W_COUNTRY, + ship_carriers, + year, + sum(jan_sales) as jan_sales, + sum(feb_sales) as feb_sales, + sum(mar_sales) as mar_sales, + sum(apr_sales) as apr_sales, + sum(may_sales) as may_sales, + sum(jun_sales) as jun_sales, + sum(jul_sales) as jul_sales, + sum(aug_sales) as aug_sales, + sum(sep_sales) as sep_sales, + sum(oct_sales) as oct_sales, + sum(nov_sales) as nov_sales, + sum(dec_sales) as dec_sales, + sum(jan_sales / W_WAREHOUSE_SQ_FT) as jan_sales_per_sq_foot, + sum(feb_sales / W_WAREHOUSE_SQ_FT) as feb_sales_per_sq_foot, + sum(mar_sales / W_WAREHOUSE_SQ_FT) as mar_sales_per_sq_foot, + sum(apr_sales / W_WAREHOUSE_SQ_FT) as apr_sales_per_sq_foot, + sum(may_sales / W_WAREHOUSE_SQ_FT) as may_sales_per_sq_foot, + sum(jun_sales / W_WAREHOUSE_SQ_FT) as jun_sales_per_sq_foot, + sum(jul_sales / W_WAREHOUSE_SQ_FT) as jul_sales_per_sq_foot, + sum(aug_sales / W_WAREHOUSE_SQ_FT) as aug_sales_per_sq_foot, + sum(sep_sales / W_WAREHOUSE_SQ_FT) as sep_sales_per_sq_foot, + sum(oct_sales / W_WAREHOUSE_SQ_FT) as oct_sales_per_sq_foot, + sum(nov_sales / W_WAREHOUSE_SQ_FT) as nov_sales_per_sq_foot, + sum(dec_sales / W_WAREHOUSE_SQ_FT) as dec_sales_per_sq_foot, + sum(jan_net) as jan_net, + sum(feb_net) as feb_net, + sum(mar_net) as mar_net, + sum(apr_net) as apr_net, + sum(may_net) as may_net, + sum(jun_net) as jun_net, + sum(jul_net) as jul_net, + sum(aug_net) as aug_net, + sum(sep_net) as sep_net, + sum(oct_net) as oct_net, + sum(nov_net) as nov_net, + sum(dec_net) as dec_net +from ( + select W_WAREHOUSE_NAME, + W_WAREHOUSE_SQ_FT, + W_CITY, + W_COUNTY, + W_STATE, + W_COUNTRY, + 'GERMA' + ',' + 'UPS' as ship_carriers, + D_YEAR as year, + sum( + case + when D_MOY = 1 then WS_EXT_SALES_PRICE * WS_QUANTITY + else 0 + end + ) as jan_sales, + sum( + case + when D_MOY = 2 then WS_EXT_SALES_PRICE * WS_QUANTITY + else 0 + end + ) as feb_sales, + sum( + case + when D_MOY = 3 then WS_EXT_SALES_PRICE * WS_QUANTITY + else 0 + end + ) as mar_sales, + sum( + case + when D_MOY = 4 then WS_EXT_SALES_PRICE * WS_QUANTITY + else 0 + end + ) as apr_sales, + sum( + case + when D_MOY = 5 then WS_EXT_SALES_PRICE * WS_QUANTITY + else 0 + end + ) as may_sales, + sum( + case + when D_MOY = 6 then WS_EXT_SALES_PRICE * WS_QUANTITY + else 0 + end + ) as jun_sales, + sum( + case + when D_MOY = 7 then WS_EXT_SALES_PRICE * WS_QUANTITY + else 0 + end + ) as jul_sales, + sum( + case + when D_MOY = 8 then WS_EXT_SALES_PRICE * WS_QUANTITY + else 0 + end + ) as aug_sales, + sum( + case + when D_MOY = 9 then WS_EXT_SALES_PRICE * WS_QUANTITY + else 0 + end + ) as sep_sales, + sum( + case + when D_MOY = 10 then WS_EXT_SALES_PRICE * WS_QUANTITY + else 0 + end + ) as oct_sales, + sum( + case + when D_MOY = 11 then WS_EXT_SALES_PRICE * WS_QUANTITY + else 0 + end + ) as nov_sales, + sum( + case + when D_MOY = 12 then WS_EXT_SALES_PRICE * WS_QUANTITY + else 0 + end + ) as dec_sales, + sum( + case + when D_MOY = 1 then WS_NET_PAID_INC_SHIP_TAX * WS_QUANTITY + else 0 + end + ) as jan_net, + sum( + case + when D_MOY = 2 then WS_NET_PAID_INC_SHIP_TAX * WS_QUANTITY + else 0 + end + ) as feb_net, + sum( + case + when D_MOY = 3 then WS_NET_PAID_INC_SHIP_TAX * WS_QUANTITY + else 0 + end + ) as mar_net, + sum( + case + when D_MOY = 4 then WS_NET_PAID_INC_SHIP_TAX * WS_QUANTITY + else 0 + end + ) as apr_net, + sum( + case + when D_MOY = 5 then WS_NET_PAID_INC_SHIP_TAX * WS_QUANTITY + else 0 + end + ) as may_net, + sum( + case + when D_MOY = 6 then WS_NET_PAID_INC_SHIP_TAX * WS_QUANTITY + else 0 + end + ) as jun_net, + sum( + case + when D_MOY = 7 then WS_NET_PAID_INC_SHIP_TAX * WS_QUANTITY + else 0 + end + ) as jul_net, + sum( + case + when D_MOY = 8 then WS_NET_PAID_INC_SHIP_TAX * WS_QUANTITY + else 0 + end + ) as aug_net, + sum( + case + when D_MOY = 9 then WS_NET_PAID_INC_SHIP_TAX * WS_QUANTITY + else 0 + end + ) as sep_net, + sum( + case + when D_MOY = 10 then WS_NET_PAID_INC_SHIP_TAX * WS_QUANTITY + else 0 + end + ) as oct_net, + sum( + case + when D_MOY = 11 then WS_NET_PAID_INC_SHIP_TAX * WS_QUANTITY + else 0 + end + ) as nov_net, + sum( + case + when D_MOY = 12 then WS_NET_PAID_INC_SHIP_TAX * WS_QUANTITY + else 0 + end + ) as dec_net + from web_sales, + warehouse, + date_dim, + time_dim, + ship_mode + where WS_WAREHOUSE_SK = W_WAREHOUSE_SK + and WS_SOLD_DATE_SK = D_DATE_SK + and WS_SOLD_TIME_SK = T_TIME_SK + and WS_SHIP_MODE_SK = SM_SHIP_MODE_SK + and D_YEAR = 2002 + and T_TIME between 1914 and 1914 + 28800 + and SM_CARRIER in ('GERMA', 'UPS') + group by W_WAREHOUSE_NAME, + W_WAREHOUSE_SQ_FT, + W_CITY, + W_COUNTY, + W_STATE, + W_COUNTRY, + D_YEAR + union all + select W_WAREHOUSE_NAME, + W_WAREHOUSE_SQ_FT, + W_CITY, + W_COUNTY, + W_STATE, + W_COUNTRY, + 'GERMA' + ',' + 'UPS' as ship_carriers, + D_YEAR as year, + sum( + case + when D_MOY = 1 then CS_SALES_PRICE * CS_QUANTITY + else 0 + end + ) as jan_sales, + sum( + case + when D_MOY = 2 then CS_SALES_PRICE * CS_QUANTITY + else 0 + end + ) as feb_sales, + sum( + case + when D_MOY = 3 then CS_SALES_PRICE * CS_QUANTITY + else 0 + end + ) as mar_sales, + sum( + case + when D_MOY = 4 then CS_SALES_PRICE * CS_QUANTITY + else 0 + end + ) as apr_sales, + sum( + case + when D_MOY = 5 then CS_SALES_PRICE * CS_QUANTITY + else 0 + end + ) as may_sales, + sum( + case + when D_MOY = 6 then CS_SALES_PRICE * CS_QUANTITY + else 0 + end + ) as jun_sales, + sum( + case + when D_MOY = 7 then CS_SALES_PRICE * CS_QUANTITY + else 0 + end + ) as jul_sales, + sum( + case + when D_MOY = 8 then CS_SALES_PRICE * CS_QUANTITY + else 0 + end + ) as aug_sales, + sum( + case + when D_MOY = 9 then CS_SALES_PRICE * CS_QUANTITY + else 0 + end + ) as sep_sales, + sum( + case + when D_MOY = 10 then CS_SALES_PRICE * CS_QUANTITY + else 0 + end + ) as oct_sales, + sum( + case + when D_MOY = 11 then CS_SALES_PRICE * CS_QUANTITY + else 0 + end + ) as nov_sales, + sum( + case + when D_MOY = 12 then CS_SALES_PRICE * CS_QUANTITY + else 0 + end + ) as dec_sales, + sum( + case + when D_MOY = 1 then CS_NET_PAID * CS_QUANTITY + else 0 + end + ) as jan_net, + sum( + case + when D_MOY = 2 then CS_NET_PAID * CS_QUANTITY + else 0 + end + ) as feb_net, + sum( + case + when D_MOY = 3 then CS_NET_PAID * CS_QUANTITY + else 0 + end + ) as mar_net, + sum( + case + when D_MOY = 4 then CS_NET_PAID * CS_QUANTITY + else 0 + end + ) as apr_net, + sum( + case + when D_MOY = 5 then CS_NET_PAID * CS_QUANTITY + else 0 + end + ) as may_net, + sum( + case + when D_MOY = 6 then CS_NET_PAID * CS_QUANTITY + else 0 + end + ) as jun_net, + sum( + case + when D_MOY = 7 then CS_NET_PAID * CS_QUANTITY + else 0 + end + ) as jul_net, + sum( + case + when D_MOY = 8 then CS_NET_PAID * CS_QUANTITY + else 0 + end + ) as aug_net, + sum( + case + when D_MOY = 9 then CS_NET_PAID * CS_QUANTITY + else 0 + end + ) as sep_net, + sum( + case + when D_MOY = 10 then CS_NET_PAID * CS_QUANTITY + else 0 + end + ) as oct_net, + sum( + case + when D_MOY = 11 then CS_NET_PAID * CS_QUANTITY + else 0 + end + ) as nov_net, + sum( + case + when D_MOY = 12 then CS_NET_PAID * CS_QUANTITY + else 0 + end + ) as dec_net + from catalog_sales, + warehouse, + date_dim, + time_dim, + ship_mode + where CS_WAREHOUSE_SK = W_WAREHOUSE_SK + and CS_SOLD_DATE_SK = D_DATE_SK + and CS_SOLD_TIME_SK = T_TIME_SK + and CS_SHIP_MODE_SK = SM_SHIP_MODE_SK + and D_YEAR = 2002 + and T_TIME between 1914 AND 1914 + 28800 + and SM_CARRIER in ('GERMA', 'UPS') + group by W_WAREHOUSE_NAME, + W_WAREHOUSE_SQ_FT, + W_CITY, + W_COUNTY, + W_STATE, + W_COUNTRY, + D_YEAR + ) x +group by W_WAREHOUSE_NAME, + W_WAREHOUSE_SQ_FT, + W_CITY, + W_COUNTY, + W_STATE, + W_COUNTRY, + ship_carriers, + year +order by W_WAREHOUSE_NAME option (label = 'TPCDS-Q66'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query67.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query67.sql new file mode 100644 index 00000000..57ee6465 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query67.sql @@ -0,0 +1,56 @@ +select top 100 * +from ( + select I_CATEGORY, + I_CLASS, + I_BRAND, + I_PRODUCT_NAME, + D_YEAR, + D_QOY, + D_MOY, + S_STORE_ID, + sumsales, + rank() over ( + partition by I_CATEGORY + order by sumsales desc + ) rk + from ( + select I_CATEGORY, + I_CLASS, + I_BRAND, + I_PRODUCT_NAME, + D_YEAR, + D_QOY, + D_MOY, + S_STORE_ID, + sum(coalesce(SS_SALES_PRICE * SS_QUANTITY, 0)) sumsales + from store_sales, + date_dim, + store, + item + where SS_SOLD_DATE_SK = D_DATE_SK + and SS_ITEM_SK = I_ITEM_SK + and SS_STORE_SK = S_STORE_SK + and D_MONTH_SEQ between 1176 and 1176 + 11 + group by rollup( + I_CATEGORY, + I_CLASS, + I_BRAND, + I_PRODUCT_NAME, + D_YEAR, + D_QOY, + D_MOY, + S_STORE_ID + ) + ) dw1 + ) dw2 +where rk <= 100 +order by I_CATEGORY, + I_CLASS, + I_BRAND, + I_PRODUCT_NAME, + D_YEAR, + D_QOY, + D_MOY, + S_STORE_ID, + sumsales, + rk option (label = 'TPCDS-Q67'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query68.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query68.sql new file mode 100644 index 00000000..8f2f7a46 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query68.sql @@ -0,0 +1,43 @@ +select top 100 C_LAST_NAME, + C_FIRST_NAME, + CA_CITY, + bought_city, + SS_TICKET_NUMBER, + extended_price, + extended_tax, + list_price +from ( + select SS_TICKET_NUMBER, + SS_CUSTOMER_SK, + CA_CITY bought_city, + sum(SS_EXT_SALES_PRICE) extended_price, + sum(SS_EXT_LIST_PRICE) list_price, + sum(SS_EXT_TAX) extended_tax + from store_sales, + date_dim, + store, + household_demographics, + customer_address + 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 store_sales.SS_ADDR_SK = customer_address.CA_ADDRESS_SK + and date_dim.D_DOM between 1 and 2 + and ( + household_demographics.HD_DEP_COUNT = 3 + or household_demographics.HD_VEHICLE_COUNT = -1 + ) + and date_dim.D_YEAR in (1998, 1998 + 1, 1998 + 2) + and store.S_CITY in ('Five Points', 'Fairview') + group by SS_TICKET_NUMBER, + SS_CUSTOMER_SK, + SS_ADDR_SK, + CA_CITY + ) dn, + customer, + customer_address current_addr +where SS_CUSTOMER_SK = C_CUSTOMER_SK + and customer.C_CURRENT_ADDR_SK = current_addr.CA_ADDRESS_SK + and current_addr.CA_CITY <> bought_city +order by C_LAST_NAME, + SS_TICKET_NUMBER option (label = 'TPCDS-Q68'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query69.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query69.sql new file mode 100644 index 00000000..4230da7e --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query69.sql @@ -0,0 +1,53 @@ +select top 100 CD_GENDER, + CD_MARITAL_STATUS, + CD_EDUCATION_STATUS, + count(*) cnt1, + CD_PURCHASE_ESTIMATE, + count(*) cnt2, + CD_CREDIT_RATING, + count(*) cnt3 +from customer c, + customer_address ca, + customer_demographics +where c.C_CURRENT_ADDR_SK = ca.CA_ADDRESS_SK + and CA_STATE in ('MO', 'WI', 'SC') + and CD_DEMO_SK = c.C_CURRENT_CDEMO_SK + and exists ( + select * + from store_sales, + date_dim + where c.C_CUSTOMER_SK = SS_CUSTOMER_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2003 + and D_MOY between 1 and 1 + 2 + ) + and ( + not exists ( + select * + from web_sales, + date_dim + where c.C_CUSTOMER_SK = WS_BILL_CUSTOMER_SK + and WS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2003 + and D_MOY between 1 and 1 + 2 + ) + and not exists ( + select * + from catalog_sales, + date_dim + where c.C_CUSTOMER_SK = CS_SHIP_CUSTOMER_SK + and CS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2003 + and D_MOY between 1 and 1 + 2 + ) + ) +group by CD_GENDER, + CD_MARITAL_STATUS, + CD_EDUCATION_STATUS, + CD_PURCHASE_ESTIMATE, + CD_CREDIT_RATING +order by CD_GENDER, + CD_MARITAL_STATUS, + CD_EDUCATION_STATUS, + CD_PURCHASE_ESTIMATE, + CD_CREDIT_RATING option (label = 'TPCDS-Q69'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query7.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query7.sql new file mode 100644 index 00000000..e5f3a967 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query7.sql @@ -0,0 +1,24 @@ +select top 100 I_ITEM_ID, + avg(SS_QUANTITY) agg1, + avg(SS_LIST_PRICE) agg2, + avg(SS_COUPON_AMT) agg3, + avg(SS_SALES_PRICE) agg4 +from store_sales, + customer_demographics, + date_dim, + item, + promotion +where SS_SOLD_DATE_SK = D_DATE_SK + and SS_ITEM_SK = I_ITEM_SK + and SS_CDEMO_SK = CD_DEMO_SK + and SS_PROMO_SK = P_PROMO_SK + and CD_GENDER = 'M' + and CD_MARITAL_STATUS = 'M' + and CD_EDUCATION_STATUS = 'Primary' + and ( + P_CHANNEL_EMAIL = 'N' + or P_CHANNEL_EVENT = 'N' + ) + and D_YEAR = 2000 +group by I_ITEM_ID +order by I_ITEM_ID option (label = 'TPCDS-Q7'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query70.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query70.sql new file mode 100644 index 00000000..7707587d --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query70.sql @@ -0,0 +1,41 @@ +select top 100 sum(SS_NET_PROFIT) as total_sum, + S_STATE, + S_COUNTY, + grouping(S_STATE) + grouping(S_COUNTY) as lochierarchy, + rank() over ( + partition by grouping(S_STATE) + grouping(S_COUNTY), + case + when grouping(S_COUNTY) = 0 then S_STATE + end + order by sum(SS_NET_PROFIT) desc + ) as rank_within_parent +from store_sales, + date_dim d1, + store +where d1.D_MONTH_SEQ between 1176 and 1176 + 11 + and d1.D_DATE_SK = SS_SOLD_DATE_SK + and S_STORE_SK = SS_STORE_SK + and S_STATE in ( + select S_STATE + from ( + select S_STATE as S_STATE, + rank() over ( + partition by S_STATE + order by sum(SS_NET_PROFIT) desc + ) as ranking + from store_sales, + store, + date_dim + where D_MONTH_SEQ between 1176 and 1176 + 11 + and D_DATE_SK = SS_SOLD_DATE_SK + and S_STORE_SK = SS_STORE_SK + group by S_STATE + ) tmp1 + where ranking <= 5 + ) +group by rollup(S_STATE, S_COUNTY) +order by lochierarchy desc, +case + when grouping(S_STATE) + grouping(S_COUNTY) = 0 then S_STATE + end, + rank_within_parent option (label = 'TPCDS-Q70'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query71.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query71.sql new file mode 100644 index 00000000..708c2818 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query71.sql @@ -0,0 +1,51 @@ +select I_BRAND_ID brand_id, + I_BRAND brand, + T_HOUR, + T_MINUTE, + sum(ext_price) ext_price +from item, + ( + select WS_EXT_SALES_PRICE as ext_price, + WS_SOLD_DATE_SK as sold_date_sk, + WS_ITEM_SK as sold_item_sk, + WS_SOLD_TIME_SK as time_sk + from web_sales, + date_dim + where D_DATE_SK = WS_SOLD_DATE_SK + and D_MOY = 11 + and D_YEAR = 1999 + union all + select CS_EXT_SALES_PRICE as ext_price, + CS_SOLD_DATE_SK as sold_date_sk, + CS_ITEM_SK as sold_item_sk, + CS_SOLD_TIME_SK as time_sk + from catalog_sales, + date_dim + where D_DATE_SK = CS_SOLD_DATE_SK + and D_MOY = 11 + and D_YEAR = 1999 + union all + select SS_EXT_SALES_PRICE as ext_price, + SS_SOLD_DATE_SK as sold_date_sk, + SS_ITEM_SK as sold_item_sk, + SS_SOLD_TIME_SK as time_sk + from store_sales, + date_dim + where D_DATE_SK = SS_SOLD_DATE_SK + and D_MOY = 11 + and D_YEAR = 1999 + ) tmp, + time_dim +where sold_item_sk = I_ITEM_SK + and I_MANAGER_ID = 1 + and time_sk = T_TIME_SK + and ( + T_MEAL_TIME = 'breakfast' + or T_MEAL_TIME = 'dinner' + ) +group by I_BRAND, + I_BRAND_ID, + T_HOUR, + T_MINUTE +order by ext_price desc, + I_BRAND_ID option (label = 'TPCDS-Q71'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query72.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query72.sql new file mode 100644 index 00000000..e2d83399 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query72.sql @@ -0,0 +1,43 @@ +select top 100 I_ITEM_DESC, + W_WAREHOUSE_NAME, + d1.D_WEEK_SEQ, + sum( + case + when P_PROMO_SK is null then 1 + else 0 + end + ) no_promo, + sum( + case + when P_PROMO_SK is not null then 1 + else 0 + end + ) promo, + count(*) total_cnt +from catalog_sales + join inventory on (CS_ITEM_SK = INV_ITEM_SK) + join warehouse on (W_WAREHOUSE_SK = INV_WAREHOUSE_SK) + join item on (I_ITEM_SK = CS_ITEM_SK) + join customer_demographics on (CS_BILL_CDEMO_SK = CD_DEMO_SK) + join household_demographics on (CS_BILL_HDEMO_SK = HD_DEMO_SK) + join date_dim d1 on (CS_SOLD_DATE_SK = d1.D_DATE_SK) + join date_dim d2 on (INV_DATE_SK = d2.D_DATE_SK) + join date_dim d3 on (CS_SHIP_DATE_SK = d3.D_DATE_SK) + left outer join promotion on (CS_PROMO_SK = P_PROMO_SK) + left outer join catalog_returns on ( + CR_ITEM_SK = CS_ITEM_SK + and CR_ORDER_NUMBER = CS_ORDER_NUMBER + ) +where d1.D_WEEK_SEQ = d2.D_WEEK_SEQ + and INV_QUANTITY_ON_HAND < CS_QUANTITY + and d3.D_DATE > dateadd(day, 5, d1.D_DATE) + and HD_BUY_POTENTIAL = '>10000' + and d1.D_YEAR = 1998 + and CD_MARITAL_STATUS = 'D' +group by I_ITEM_DESC, + W_WAREHOUSE_NAME, + d1.D_WEEK_SEQ +order by total_cnt desc, + I_ITEM_DESC, + W_WAREHOUSE_NAME, + D_WEEK_SEQ option (label = 'TPCDS-Q72'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query73.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query73.sql new file mode 100644 index 00000000..a4c86266 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query73.sql @@ -0,0 +1,42 @@ +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(*) 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 = '1001-5000' + 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 (2000, 2000 + 1, 2000 + 2) + and store.S_COUNTY in ( + 'Williamson County', + 'Walker County', + 'Ziebach County', + 'Williamson County' + ) + group by SS_TICKET_NUMBER, + SS_CUSTOMER_SK + ) dj, + customer +where SS_CUSTOMER_SK = C_CUSTOMER_SK + and cnt between 1 and 5 +order by cnt desc, + C_LAST_NAME asc option (label = 'TPCDS-Q73'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query74.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query74.sql new file mode 100644 index 00000000..f3df74b5 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query74.sql @@ -0,0 +1,65 @@ +with year_total as ( + select C_CUSTOMER_ID customer_id, + C_FIRST_NAME customer_first_name, + C_LAST_NAME customer_last_name, + D_YEAR as year, + stdev(SS_NET_PAID) year_total, + 's' sale_type + from customer, + store_sales, + date_dim + where C_CUSTOMER_SK = SS_CUSTOMER_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR in (2000, 2000 + 1) + group by C_CUSTOMER_ID, + C_FIRST_NAME, + C_LAST_NAME, + D_YEAR + union all + select C_CUSTOMER_ID customer_id, + C_FIRST_NAME customer_first_name, + C_LAST_NAME customer_last_name, + D_YEAR as year, + stdev(WS_NET_PAID) year_total, + 'w' sale_type + from customer, + web_sales, + date_dim + where C_CUSTOMER_SK = WS_BILL_CUSTOMER_SK + and WS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR in (2000, 2000 + 1) + group by C_CUSTOMER_ID, + C_FIRST_NAME, + C_LAST_NAME, + D_YEAR +) +select top 100 t_s_secyear.customer_id, + t_s_secyear.customer_first_name, + t_s_secyear.customer_last_name +from year_total t_s_firstyear, + year_total t_s_secyear, + year_total t_w_firstyear, + year_total t_w_secyear +where t_s_secyear.customer_id = t_s_firstyear.customer_id + and t_s_firstyear.customer_id = t_w_secyear.customer_id + and t_s_firstyear.customer_id = t_w_firstyear.customer_id + and t_s_firstyear.sale_type = 's' + and t_w_firstyear.sale_type = 'w' + and t_s_secyear.sale_type = 's' + and t_w_secyear.sale_type = 'w' + and t_s_firstyear.year = 2000 + and t_s_secyear.year = 2000 + 1 + and t_w_firstyear.year = 2000 + and t_w_secyear.year = 2000 + 1 + and t_s_firstyear.year_total > 0 + and t_w_firstyear.year_total > 0 + and case + when t_w_firstyear.year_total > 0 then t_w_secyear.year_total / t_w_firstyear.year_total + else null + end > case + when t_s_firstyear.year_total > 0 then t_s_secyear.year_total / t_s_firstyear.year_total + else null + end +order by 1, + 3, + 2 option (label = 'TPCDS-Q74'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query75.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query75.sql new file mode 100644 index 00000000..d8cf588e --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query75.sql @@ -0,0 +1,84 @@ +WITH all_sales AS ( + SELECT D_YEAR, + I_BRAND_ID, + I_CLASS_ID, + I_CATEGORY_ID, + I_MANUFACT_ID, + SUM(sales_cnt) AS sales_cnt, + SUM(sales_amt) AS sales_amt + FROM ( + SELECT D_YEAR, + I_BRAND_ID, + I_CLASS_ID, + I_CATEGORY_ID, + I_MANUFACT_ID, + CS_QUANTITY - COALESCE(CR_RETURN_QUANTITY, 0) AS sales_cnt, + CS_EXT_SALES_PRICE - COALESCE(CR_RETURN_AMOUNT, 0.0) AS sales_amt + FROM catalog_sales + JOIN item ON I_ITEM_SK = CS_ITEM_SK + JOIN date_dim ON D_DATE_SK = CS_SOLD_DATE_SK + LEFT JOIN catalog_returns ON ( + CS_ORDER_NUMBER = CR_ORDER_NUMBER + AND CS_ITEM_SK = CR_ITEM_SK + ) + WHERE I_CATEGORY = 'Men' + UNION + SELECT D_YEAR, + I_BRAND_ID, + I_CLASS_ID, + I_CATEGORY_ID, + I_MANUFACT_ID, + SS_QUANTITY - COALESCE(SR_RETURN_QUANTITY, 0) AS sales_cnt, + SS_EXT_SALES_PRICE - COALESCE(SR_RETURN_AMT, 0.0) AS sales_amt + FROM store_sales + JOIN item ON I_ITEM_SK = SS_ITEM_SK + JOIN date_dim ON D_DATE_SK = SS_SOLD_DATE_SK + LEFT JOIN store_returns ON ( + SS_TICKET_NUMBER = SR_TICKET_NUMBER + AND SS_ITEM_SK = SR_ITEM_SK + ) + WHERE I_CATEGORY = 'Men' + UNION + SELECT D_YEAR, + I_BRAND_ID, + I_CLASS_ID, + I_CATEGORY_ID, + I_MANUFACT_ID, + WS_QUANTITY - COALESCE(WR_RETURN_QUANTITY, 0) AS sales_cnt, + WS_EXT_SALES_PRICE - COALESCE(WR_RETURN_AMT, 0.0) AS sales_amt + FROM web_sales + JOIN item ON I_ITEM_SK = WS_ITEM_SK + JOIN date_dim ON D_DATE_SK = WS_SOLD_DATE_SK + LEFT JOIN web_returns ON ( + WS_ORDER_NUMBER = WR_ORDER_NUMBER + AND WS_ITEM_SK = WR_ITEM_SK + ) + WHERE I_CATEGORY = 'Men' + ) sales_detail + GROUP BY D_YEAR, + I_BRAND_ID, + I_CLASS_ID, + I_CATEGORY_ID, + I_MANUFACT_ID +) +SELECT top 100 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_diff +FROM all_sales curr_yr, + all_sales prev_yr +WHERE 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 = 2001 + AND prev_yr.D_YEAR = 2001 -1 + AND CAST(curr_yr.sales_cnt AS DECIMAL(17, 2)) / CAST(prev_yr.sales_cnt AS DECIMAL(17, 2)) < 0.9 +ORDER BY sales_cnt_diff, + sales_amt_diff option (label = 'TPCDS-Q75'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query76.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query76.sql new file mode 100644 index 00000000..ed414ca5 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query76.sql @@ -0,0 +1,57 @@ +select top 100 channel, + col_name, + D_YEAR, + D_QOY, + I_CATEGORY, + COUNT(*) sales_cnt, + SUM(ext_sales_price) sales_amt +FROM ( + SELECT 'store' as channel, + 'SS_CDEMO_SK' col_name, + D_YEAR, + D_QOY, + I_CATEGORY, + SS_EXT_SALES_PRICE ext_sales_price + FROM store_sales, + item, + date_dim + WHERE SS_CDEMO_SK IS NULL + AND SS_SOLD_DATE_SK = D_DATE_SK + AND SS_ITEM_SK = I_ITEM_SK + UNION ALL + SELECT 'web' as channel, + 'WS_SHIP_ADDR_SK' col_name, + D_YEAR, + D_QOY, + I_CATEGORY, + WS_EXT_SALES_PRICE ext_sales_price + FROM web_sales, + item, + date_dim + WHERE WS_SHIP_ADDR_SK IS NULL + AND WS_SOLD_DATE_SK = D_DATE_SK + AND WS_ITEM_SK = I_ITEM_SK + UNION ALL + SELECT 'catalog' as channel, + 'CS_BILL_CUSTOMER_SK' col_name, + D_YEAR, + D_QOY, + I_CATEGORY, + CS_EXT_SALES_PRICE ext_sales_price + FROM catalog_sales, + item, + date_dim + WHERE CS_BILL_CUSTOMER_SK IS NULL + AND CS_SOLD_DATE_SK = D_DATE_SK + AND CS_ITEM_SK = I_ITEM_SK + ) foo +GROUP BY channel, + col_name, + D_YEAR, + D_QOY, + I_CATEGORY +ORDER BY channel, + col_name, + D_YEAR, + D_QOY, + I_CATEGORY option (label = 'TPCDS-Q76'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query77.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query77.sql new file mode 100644 index 00000000..119fed1e --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query77.sql @@ -0,0 +1,107 @@ +with ss as ( + select S_STORE_SK, + sum(SS_EXT_SALES_PRICE) as sales, + sum(SS_NET_PROFIT) as profit + from store_sales, + date_dim, + store + where SS_SOLD_DATE_SK = D_DATE_SK + and D_DATE between cast('2000-08-21' as date) + and dateadd(day, 30, (cast('2000-08-21' as date))) + and SS_STORE_SK = S_STORE_SK + group by S_STORE_SK +), +sr as ( + select S_STORE_SK, + sum(SR_RETURN_AMT) as returns, + sum(SR_NET_LOSS) as profit_loss + from store_returns, + date_dim, + store + where SR_RETURNED_DATE_SK = D_DATE_SK + and D_DATE between cast('2000-08-21' as date) + and dateadd(day, 30, (cast('2000-08-21' as date))) + and SR_STORE_SK = S_STORE_SK + group by S_STORE_SK +), +cs as ( + select CS_CALL_CENTER_SK, + sum(CS_EXT_SALES_PRICE) as sales, + sum(CS_NET_PROFIT) as profit + from catalog_sales, + date_dim + where CS_SOLD_DATE_SK = D_DATE_SK + and D_DATE between cast('2000-08-21' as date) + and dateadd(day, 30, (cast('2000-08-21' as date))) + group by CS_CALL_CENTER_SK +), +cr as ( + select CR_CALL_CENTER_SK, + sum(CR_RETURN_AMOUNT) as returns, + sum(CR_NET_LOSS) as profit_loss + from catalog_returns, + date_dim + where CR_RETURNED_DATE_SK = D_DATE_SK + and D_DATE between cast('2000-08-21' as date) + and dateadd(day, 30, (cast('2000-08-21' as date))) + group by CR_CALL_CENTER_SK +), +ws as ( + select WP_WEB_PAGE_SK, + sum(WS_EXT_SALES_PRICE) as sales, + sum(WS_NET_PROFIT) as profit + from web_sales, + date_dim, + web_page + where WS_SOLD_DATE_SK = D_DATE_SK + and D_DATE between cast('2000-08-21' as date) + and dateadd(day, 30, (cast('2000-08-21' as date))) + and WS_WEB_PAGE_SK = WP_WEB_PAGE_SK + group by WP_WEB_PAGE_SK +), +wr as ( + select WP_WEB_PAGE_SK, + sum(WR_RETURN_AMT) as returns, + sum(WR_NET_LOSS) as profit_loss + from web_returns, + date_dim, + web_page + where WR_RETURNED_DATE_SK = D_DATE_SK + and D_DATE between cast('2000-08-21' as date) + and dateadd(day, 30, (cast('2000-08-21' as date))) + and WR_WEB_PAGE_SK = WP_WEB_PAGE_SK + group by WP_WEB_PAGE_SK +) +select top 100 channel, + id, + sum(sales) as sales, + sum(returns) as returns, + sum(profit) as profit +from ( + select 'store channel' as channel, + ss.S_STORE_SK as id, + sales, + coalesce(returns, 0) as returns, + (profit - coalesce(profit_loss, 0)) as profit + from ss + left join sr on ss.S_STORE_SK = sr.S_STORE_SK + union all + select 'catalog channel' as channel, + CS_CALL_CENTER_SK as id, + sales, + returns, + (profit - profit_loss) as profit + from cs, + cr + union all + select 'web channel' as channel, + ws.WP_WEB_PAGE_SK as id, + sales, + coalesce(returns, 0) returns, + (profit - coalesce(profit_loss, 0)) as profit + from ws + left join wr on ws.WP_WEB_PAGE_SK = wr.WP_WEB_PAGE_SK + ) x +group by rollup (channel, id) +order by channel, + id option (label = 'TPCDS-Q77'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query78.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query78.sql new file mode 100644 index 00000000..337f7f03 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query78.sql @@ -0,0 +1,80 @@ +with ws as ( + select D_YEAR AS ws_sold_year, + WS_ITEM_SK, + WS_BILL_CUSTOMER_SK ws_customer_sk, + sum(WS_QUANTITY) ws_qty, + sum(WS_WHOLESALE_COST) ws_wc, + sum(WS_SALES_PRICE) ws_sp + from web_sales + left join web_returns on WR_ORDER_NUMBER = WS_ORDER_NUMBER + and WS_ITEM_SK = WR_ITEM_SK + join date_dim on WS_SOLD_DATE_SK = D_DATE_SK + where WR_ORDER_NUMBER is null + group by D_YEAR, + WS_ITEM_SK, + WS_BILL_CUSTOMER_SK +), +cs as ( + select D_YEAR AS cs_sold_year, + CS_ITEM_SK, + CS_BILL_CUSTOMER_SK cs_customer_sk, + sum(CS_QUANTITY) cs_qty, + sum(CS_WHOLESALE_COST) cs_wc, + sum(CS_SALES_PRICE) cs_sp + from catalog_sales + left join catalog_returns on CR_ORDER_NUMBER = CS_ORDER_NUMBER + and CS_ITEM_SK = CR_ITEM_SK + join date_dim on CS_SOLD_DATE_SK = D_DATE_SK + where CR_ORDER_NUMBER is null + group by D_YEAR, + CS_ITEM_SK, + CS_BILL_CUSTOMER_SK +), +ss as ( + select D_YEAR AS ss_sold_year, + SS_ITEM_SK, + SS_CUSTOMER_SK, + sum(SS_QUANTITY) ss_qty, + sum(SS_WHOLESALE_COST) ss_wc, + sum(SS_SALES_PRICE) ss_sp + from store_sales + left join store_returns on SR_TICKET_NUMBER = SS_TICKET_NUMBER + and SS_ITEM_SK = SR_ITEM_SK + join date_dim on SS_SOLD_DATE_SK = D_DATE_SK + where SR_TICKET_NUMBER is null + group by D_YEAR, + SS_ITEM_SK, + SS_CUSTOMER_SK +) +select top 100 SS_CUSTOMER_SK, + round(ss_qty /(coalesce(ws_qty, 0) + coalesce(cs_qty, 0)), 2) ratio, + ss_qty store_qty, + ss_wc store_wholesale_cost, + ss_sp store_sales_price, + coalesce(ws_qty, 0) + coalesce(cs_qty, 0) other_chan_qty, + coalesce(ws_wc, 0) + coalesce(cs_wc, 0) other_chan_wholesale_cost, + coalesce(ws_sp, 0) + coalesce(cs_sp, 0) other_chan_sales_price +from ss + left join ws on ( + ws_sold_year = ss_sold_year + and WS_ITEM_SK = SS_ITEM_SK + and ws_customer_sk = SS_CUSTOMER_SK + ) + left join cs on ( + cs_sold_year = ss_sold_year + and CS_ITEM_SK = SS_ITEM_SK + and cs_customer_sk = SS_CUSTOMER_SK + ) +where ( + coalesce(ws_qty, 0) > 0 + or coalesce(cs_qty, 0) > 0 + ) + and ss_sold_year = 1999 +order by SS_CUSTOMER_SK, + ss_qty desc, + ss_wc desc, + ss_sp desc, + other_chan_qty, + other_chan_wholesale_cost, + other_chan_sales_price, + ratio option (label = 'TPCDS-Q78'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query79.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query79.sql new file mode 100644 index 00000000..c46c66a1 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query79.sql @@ -0,0 +1,37 @@ +select top 100 C_LAST_NAME, + C_FIRST_NAME, + substring(S_CITY, 1, 30), + SS_TICKET_NUMBER, + amt, + profit +from ( + select SS_TICKET_NUMBER, + SS_CUSTOMER_SK, + store.S_CITY, + sum(SS_COUPON_AMT) amt, + sum(SS_NET_PROFIT) profit + 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 ( + household_demographics.HD_DEP_COUNT = 0 + or household_demographics.HD_VEHICLE_COUNT > -1 + ) + and date_dim.D_DOW = 1 + and date_dim.D_YEAR in (1999, 1999 + 1, 1999 + 2) + and store.S_NUMBER_EMPLOYEES between 200 and 295 + group by SS_TICKET_NUMBER, + SS_CUSTOMER_SK, + SS_ADDR_SK, + store.S_CITY + ) ms, + customer +where SS_CUSTOMER_SK = C_CUSTOMER_SK +order by C_LAST_NAME, + C_FIRST_NAME, + substring(S_CITY, 1, 30), + profit option (label = 'TPCDS-Q79'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query8.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query8.sql new file mode 100644 index 00000000..a02ea65d --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query8.sql @@ -0,0 +1,433 @@ +select top 100 S_STORE_NAME, + sum(SS_NET_PROFIT) +from store_sales, + date_dim, + store, + ( + select CA_ZIP + from ( + SELECT substring(CA_ZIP, 1, 5) CA_ZIP + FROM customer_address + WHERE substring(CA_ZIP, 1, 5) IN ( + '38895', + '45237', + '37195', + '17703', + '32727', + '20327', + '61691', + '65515', + '56607', + '68993', + '27131', + '46701', + '28953', + '22995', + '56371', + '61315', + '70887', + '48327', + '26059', + '34823', + '39953', + '17369', + '90503', + '53329', + '12707', + '84825', + '14879', + '32845', + '64751', + '57665', + '77365', + '21105', + '46087', + '72369', + '72959', + '75121', + '55075', + '80799', + '79295', + '48317', + '90809', + '89303', + '26921', + '48897', + '32183', + '23915', + '16607', + '15199', + '68743', + '58877', + '65621', + '79115', + '66487', + '29161', + '99933', + '62891', + '85665', + '84565', + '72699', + '14591', + '45789', + '30717', + '72245', + '65331', + '41351', + '37385', + '55643', + '72595', + '26365', + '53099', + '23305', + '16943', + '14045', + '14709', + '43539', + '49745', + '73835', + '99031', + '16685', + '80027', + '95099', + '27803', + '14609', + '42705', + '69495', + '40319', + '76201', + '32113', + '43305', + '24871', + '42919', + '57219', + '81785', + '89797', + '46167', + '25195', + '34365', + '24383', + '84881', + '31103', + '77465', + '27357', + '31377', + '86743', + '63189', + '33057', + '90641', + '41891', + '29989', + '19305', + '93099', + '86267', + '59033', + '20815', + '77029', + '84727', + '37783', + '46663', + '33811', + '22927', + '70197', + '87717', + '56871', + '17623', + '46343', + '13133', + '70075', + '62781', + '37177', + '72891', + '36087', + '58615', + '73839', + '45713', + '77495', + '70539', + '17603', + '24021', + '19369', + '22021', + '85043', + '28517', + '88187', + '30945', + '22477', + '47007', + '23025', + '91557', + '61013', + '34913', + '31511', + '46609', + '28633', + '82269', + '11779', + '16573', + '35113', + '21717', + '44669', + '98787', + '50511', + '30985', + '33647', + '82631', + '33707', + '39681', + '70017', + '71491', + '44495', + '30767', + '20425', + '92071', + '66777', + '85639', + '83257', + '29093', + '31227', + '29121', + '39713', + '92819', + '98359', + '86979', + '46829', + '55875', + '90965', + '15315', + '11491', + '45403', + '45091', + '71507', + '14843', + '61621', + '45589', + '14211', + '37703', + '89193', + '81389', + '67133', + '87669', + '37011', + '85337', + '69779', + '58691', + '87317', + '15189', + '78877', + '26703', + '60397', + '48943', + '91159', + '11653', + '47455', + '62061', + '11263', + '72873', + '97413', + '85973', + '34679', + '28913', + '83053', + '20617', + '28143', + '72411', + '98055', + '30703', + '41685', + '59415', + '83687', + '70449', + '22313', + '85169', + '17169', + '62505', + '35323', + '67757', + '87977', + '73073', + '88203', + '21817', + '19213', + '15493', + '28725', + '81475', + '45647', + '53873', + '76235', + '77921', + '11317', + '34453', + '86861', + '66665', + '36143', + '29773', + '77557', + '23823', + '65031', + '40073', + '39405', + '72383', + '45337', + '58241', + '75431', + '89379', + '27595', + '39951', + '53249', + '49053', + '79689', + '38129', + '75095', + '55489', + '13427', + '49927', + '50845', + '46421', + '30605', + '59247', + '70455', + '25147', + '95729', + '10569', + '92803', + '38993', + '27935', + '94759', + '46777', + '49181', + '57971', + '48063', + '51775', + '92105', + '84965', + '73953', + '77213', + '12387', + '58419', + '36553', + '22143', + '31893', + '54017', + '38129', + '82805', + '44699', + '78173', + '11879', + '69237', + '87585', + '59973', + '20299', + '37949', + '41559', + '15075', + '97495', + '17653', + '72463', + '49505', + '71621', + '76143', + '64101', + '85271', + '81823', + '69635', + '48655', + '54077', + '75387', + '31667', + '42667', + '37723', + '23643', + '26917', + '62235', + '82187', + '54231', + '61793', + '96491', + '18461', + '59433', + '22471', + '14893', + '46151', + '88943', + '50291', + '71105', + '36751', + '30827', + '83443', + '49201', + '12835', + '49311', + '75519', + '67719', + '78731', + '16619', + '62889', + '25883', + '49355', + '49713', + '45305', + '23863', + '64559', + '63947', + '41001', + '50321', + '58907', + '74633', + '57445', + '17981', + '71649', + '63303', + '26211', + '42223', + '14755', + '23949', + '89871', + '57333', + '13201', + '59447', + '94397', + '77615', + '21199', + '59925', + '82709', + '35977', + '77983', + '64159', + '93255', + '15039', + '51335', + '97291', + '61875', + '93667', + '14377', + '14153', + '35265', + '41571', + '73761', + '89685', + '25213', + '42401', + '40879' + ) + intersect + select CA_ZIP + from ( + SELECT substring(CA_ZIP, 1, 5) CA_ZIP, + count(*) cnt + FROM customer_address, + customer + WHERE CA_ADDRESS_SK = C_CURRENT_ADDR_SK + and C_PREFERRED_CUST_FLAG = 'Y' + group by CA_ZIP + having count(*) > 10 + ) A1 + ) A2 + ) V1 +where SS_STORE_SK = S_STORE_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and D_QOY = 2 + and D_YEAR = 2000 + and (substring(S_ZIP, 1, 2) = substring(V1.CA_ZIP, 1, 2)) +group by S_STORE_NAME +order by S_STORE_NAME option (label = 'TPCDS-Q8'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query80.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query80.sql new file mode 100644 index 00000000..f4b1653d --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query80.sql @@ -0,0 +1,102 @@ +with ssr as ( + select S_STORE_ID as store_id, + sum(SS_EXT_SALES_PRICE) as sales, + sum(coalesce(SR_RETURN_AMT, 0)) as returns, + sum(SS_NET_PROFIT - coalesce(SR_NET_LOSS, 0)) as profit + from store_sales + left outer join store_returns on ( + SS_ITEM_SK = SR_ITEM_SK + and SS_TICKET_NUMBER = SR_TICKET_NUMBER + ), + date_dim, + store, + item, + promotion + where SS_SOLD_DATE_SK = D_DATE_SK + and D_DATE between cast('2000-08-21' as date) + and dateadd(day, 30, (cast('2000-08-21' as date))) + and SS_STORE_SK = S_STORE_SK + and SS_ITEM_SK = I_ITEM_SK + and I_CURRENT_PRICE > 50 + and SS_PROMO_SK = P_PROMO_SK + and P_CHANNEL_TV = 'N' + group by S_STORE_ID +), +csr as ( + select CP_CATALOG_PAGE_ID as catalog_page_id, + sum(CS_EXT_SALES_PRICE) as sales, + sum(coalesce(CR_RETURN_AMOUNT, 0)) as returns, + sum(CS_NET_PROFIT - coalesce(CR_NET_LOSS, 0)) as profit + from catalog_sales + left outer join catalog_returns on ( + CS_ITEM_SK = CR_ITEM_SK + and CS_ORDER_NUMBER = CR_ORDER_NUMBER + ), + date_dim, + catalog_page, + item, + promotion + where CS_SOLD_DATE_SK = D_DATE_SK + and D_DATE between cast('2000-08-21' as date) + and dateadd(day, 30, (cast('2000-08-21' as date))) + and CS_CATALOG_PAGE_SK = CP_CATALOG_PAGE_SK + and CS_ITEM_SK = I_ITEM_SK + and I_CURRENT_PRICE > 50 + and CS_PROMO_SK = P_PROMO_SK + and P_CHANNEL_TV = 'N' + group by CP_CATALOG_PAGE_ID +), +wsr as ( + select WEB_SITE_ID, + sum(WS_EXT_SALES_PRICE) as sales, + sum(coalesce(WR_RETURN_AMT, 0)) as returns, + sum(WS_NET_PROFIT - coalesce(WR_NET_LOSS, 0)) as profit + from web_sales + left outer join web_returns on ( + WS_ITEM_SK = WR_ITEM_SK + and WS_ORDER_NUMBER = WR_ORDER_NUMBER + ), + date_dim, + web_site, + item, + promotion + where WS_SOLD_DATE_SK = D_DATE_SK + and D_DATE between cast('2000-08-21' as date) + and dateadd(day, 30, (cast('2000-08-21' as date))) + and WS_WEB_SITE_SK = WEB_SITE_SK + and WS_ITEM_SK = I_ITEM_SK + and I_CURRENT_PRICE > 50 + and WS_PROMO_SK = P_PROMO_SK + and P_CHANNEL_TV = 'N' + group by WEB_SITE_ID +) +select top 100 channel, + id, + sum(sales) as sales, + sum(returns) as returns, + sum(profit) as profit +from ( + select 'store channel' as channel, + 'store' + store_id as id, + sales, + returns, + profit + from ssr + union all + select 'catalog channel' as channel, + 'catalog_page' + catalog_page_id as id, + sales, + returns, + profit + from csr + union all + select 'web channel' as channel, + 'web_site' + WEB_SITE_ID as id, + sales, + returns, + profit + from wsr + ) x +group by rollup (channel, id) +order by channel, + id option (label = 'TPCDS-Q80'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query81.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query81.sql new file mode 100644 index 00000000..7dd6710e --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query81.sql @@ -0,0 +1,56 @@ +with customer_total_return as ( + select CR_RETURNING_CUSTOMER_SK as ctr_customer_sk, + CA_STATE as ctr_state, + sum(CR_RETURN_AMT_INC_TAX) as ctr_total_return + from catalog_returns, + date_dim, + customer_address + where CR_RETURNED_DATE_SK = D_DATE_SK + and D_YEAR = 2000 + and CR_RETURNING_ADDR_SK = CA_ADDRESS_SK + group by CR_RETURNING_CUSTOMER_SK, + CA_STATE +) +select top 100 C_CUSTOMER_ID, + C_SALUTATION, + C_FIRST_NAME, + C_LAST_NAME, + CA_STREET_NUMBER, + CA_STREET_NAME, + CA_STREET_TYPE, + CA_SUITE_NUMBER, + CA_CITY, + CA_COUNTY, + CA_STATE, + CA_ZIP, + CA_COUNTRY, + CA_GMT_OFFSET, + CA_LOCATION_TYPE, + ctr_total_return +from customer_total_return ctr1, + customer_address, + customer +where ctr1.ctr_total_return > ( + select avg(ctr_total_return) * 1.2 + from customer_total_return ctr2 + where ctr1.ctr_state = ctr2.ctr_state + ) + and CA_ADDRESS_SK = C_CURRENT_ADDR_SK + and CA_STATE = 'OK' + and ctr1.ctr_customer_sk = C_CUSTOMER_SK +order by C_CUSTOMER_ID, + C_SALUTATION, + C_FIRST_NAME, + C_LAST_NAME, + CA_STREET_NUMBER, + CA_STREET_NAME, + CA_STREET_TYPE, + CA_SUITE_NUMBER, + CA_CITY, + CA_COUNTY, + CA_STATE, + CA_ZIP, + CA_COUNTRY, + CA_GMT_OFFSET, + CA_LOCATION_TYPE, + ctr_total_return option (label = 'TPCDS-Q81'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query82.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query82.sql new file mode 100644 index 00000000..2e97e7aa --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query82.sql @@ -0,0 +1,19 @@ +select top 100 I_ITEM_ID, + I_ITEM_DESC, + I_CURRENT_PRICE +from item, + inventory, + date_dim, + store_sales +where I_CURRENT_PRICE between 18 and 18 + 30 + and INV_ITEM_SK = I_ITEM_SK + and D_DATE_SK = INV_DATE_SK + and D_DATE between cast('2000-04-20' as date) + and dateadd(day, 60, (cast('2000-04-20' as date))) + and I_MANUFACT_ID in (860, 362, 42, 644) + and INV_QUANTITY_ON_HAND between 100 and 500 + and SS_ITEM_SK = I_ITEM_SK +group by I_ITEM_ID, + I_ITEM_DESC, + I_CURRENT_PRICE +order by I_ITEM_ID option (label = 'TPCDS-Q82'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query83.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query83.sql new file mode 100644 index 00000000..97a9b750 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query83.sql @@ -0,0 +1,72 @@ +with sr_items as ( + select I_ITEM_ID item_id, + sum(SR_RETURN_QUANTITY) sr_item_qty + from store_returns, + item, + date_dim + where SR_ITEM_SK = I_ITEM_SK + and D_DATE in ( + select D_DATE + from date_dim + where D_WEEK_SEQ in ( + select D_WEEK_SEQ + from date_dim + where D_DATE in ('2000-06-28', '2000-10-23', '2000-11-23') + ) + ) + and SR_RETURNED_DATE_SK = D_DATE_SK + group by I_ITEM_ID +), +cr_items as ( + select I_ITEM_ID item_id, + sum(CR_RETURN_QUANTITY) cr_item_qty + from catalog_returns, + item, + date_dim + where CR_ITEM_SK = I_ITEM_SK + and D_DATE in ( + select D_DATE + from date_dim + where D_WEEK_SEQ in ( + select D_WEEK_SEQ + from date_dim + where D_DATE in ('2000-06-28', '2000-10-23', '2000-11-23') + ) + ) + and CR_RETURNED_DATE_SK = D_DATE_SK + group by I_ITEM_ID +), +wr_items as ( + select I_ITEM_ID item_id, + sum(WR_RETURN_QUANTITY) wr_item_qty + from web_returns, + item, + date_dim + where WR_ITEM_SK = I_ITEM_SK + and D_DATE in ( + select D_DATE + from date_dim + where D_WEEK_SEQ in ( + select D_WEEK_SEQ + from date_dim + where D_DATE in ('2000-06-28', '2000-10-23', '2000-11-23') + ) + ) + and WR_RETURNED_DATE_SK = D_DATE_SK + group by I_ITEM_ID +) +select top 100 sr_items.item_id, + sr_item_qty, + sr_item_qty /(sr_item_qty + cr_item_qty + wr_item_qty) / 3.0 * 100 sr_dev, + cr_item_qty, + cr_item_qty /(sr_item_qty + cr_item_qty + wr_item_qty) / 3.0 * 100 cr_dev, + wr_item_qty, + wr_item_qty /(sr_item_qty + cr_item_qty + wr_item_qty) / 3.0 * 100 wr_dev, +(sr_item_qty + cr_item_qty + wr_item_qty) / 3.0 average +from sr_items, + cr_items, + wr_items +where sr_items.item_id = cr_items.item_id + and sr_items.item_id = wr_items.item_id +order by sr_items.item_id, + sr_item_qty option (label = 'TPCDS-Q83'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query84.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query84.sql new file mode 100644 index 00000000..293619f5 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query84.sql @@ -0,0 +1,17 @@ +select top 100 C_CUSTOMER_ID as customer_id, + coalesce(C_LAST_NAME, '') + ', ' + coalesce(C_FIRST_NAME, '') as customername +from customer, + customer_address, + customer_demographics, + household_demographics, + income_band, + store_returns +where CA_CITY = 'Fairview' + and C_CURRENT_ADDR_SK = CA_ADDRESS_SK + and IB_LOWER_BOUND >= 36925 + and IB_UPPER_BOUND <= 36925 + 50000 + and IB_INCOME_BAND_SK = HD_INCOME_BAND_SK + and CD_DEMO_SK = C_CURRENT_CDEMO_SK + and HD_DEMO_SK = C_CURRENT_HDEMO_SK + and SR_CDEMO_SK = CD_DEMO_SK +order by C_CUSTOMER_ID option (label = 'TPCDS-Q84'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query85.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query85.sql new file mode 100644 index 00000000..970de267 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query85.sql @@ -0,0 +1,66 @@ +select top 100 substring(R_REASON_DESC, 1, 20), + avg(WS_QUANTITY), + avg(WR_REFUNDED_CASH), + avg(WR_FEE) +from web_sales, + web_returns, + web_page, + customer_demographics cd1, + customer_demographics cd2, + customer_address, + date_dim, + reason +where WS_WEB_PAGE_SK = WP_WEB_PAGE_SK + and WS_ITEM_SK = WR_ITEM_SK + and WS_ORDER_NUMBER = WR_ORDER_NUMBER + and WS_SOLD_DATE_SK = D_DATE_SK + and D_YEAR = 2000 + and cd1.CD_DEMO_SK = WR_REFUNDED_CDEMO_SK + and cd2.CD_DEMO_SK = WR_RETURNING_CDEMO_SK + and CA_ADDRESS_SK = WR_REFUNDED_ADDR_SK + and R_REASON_SK = WR_REASON_SK + and ( + ( + cd1.CD_MARITAL_STATUS = 'U' + and cd1.CD_MARITAL_STATUS = cd2.CD_MARITAL_STATUS + and cd1.CD_EDUCATION_STATUS = 'Advanced Degree' + and cd1.CD_EDUCATION_STATUS = cd2.CD_EDUCATION_STATUS + and WS_SALES_PRICE between 100.00 and 150.00 + ) + or ( + cd1.CD_MARITAL_STATUS = 'D' + and cd1.CD_MARITAL_STATUS = cd2.CD_MARITAL_STATUS + and cd1.CD_EDUCATION_STATUS = 'Unknown' + and cd1.CD_EDUCATION_STATUS = cd2.CD_EDUCATION_STATUS + and WS_SALES_PRICE between 50.00 and 100.00 + ) + or ( + cd1.CD_MARITAL_STATUS = 'M' + and cd1.CD_MARITAL_STATUS = cd2.CD_MARITAL_STATUS + and cd1.CD_EDUCATION_STATUS = 'Secondary' + and cd1.CD_EDUCATION_STATUS = cd2.CD_EDUCATION_STATUS + and WS_SALES_PRICE between 150.00 and 200.00 + ) + ) + and ( + ( + CA_COUNTRY = 'United States' + and CA_STATE in ('OH', 'AR', 'WI') + and WS_NET_PROFIT between 100 and 200 + ) + or ( + CA_COUNTRY = 'United States' + and CA_STATE in ('AL', 'CO', 'IA') + and WS_NET_PROFIT between 150 and 300 + ) + or ( + CA_COUNTRY = 'United States' + and CA_STATE in ('IN', 'PA', 'KS') + and WS_NET_PROFIT between 50 and 250 + ) + ) +group by R_REASON_DESC +order by substring(R_REASON_DESC, 1, 20), + avg(WS_QUANTITY), + avg(WR_REFUNDED_CASH), + avg(WR_FEE) option (label = 'TPCDS-Q85'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query86.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query86.sql new file mode 100644 index 00000000..3852bdb6 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query86.sql @@ -0,0 +1,23 @@ +select top 100 sum(WS_NET_PAID) as total_sum, + I_CATEGORY, + I_CLASS, + grouping(I_CATEGORY) + grouping(I_CLASS) as lochierarchy, + rank() over ( + partition by grouping(I_CATEGORY) + grouping(I_CLASS), + case + when grouping(I_CLASS) = 0 then I_CATEGORY + end + order by sum(WS_NET_PAID) desc + ) as rank_within_parent +from web_sales, + date_dim d1, + item +where d1.D_MONTH_SEQ between 1176 and 1176 + 11 + and d1.D_DATE_SK = WS_SOLD_DATE_SK + and I_ITEM_SK = WS_ITEM_SK +group by rollup(I_CATEGORY, I_CLASS) +order by lochierarchy desc, + case + when grouping(I_CATEGORY) + grouping(I_CLASS) = 0 then I_CATEGORY + end, + rank_within_parent option (label = 'TPCDS-Q86'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query87.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query87.sql new file mode 100644 index 00000000..1a4c13ca --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query87.sql @@ -0,0 +1,36 @@ +select count(*) +from ( + ( + select distinct C_LAST_NAME, + C_FIRST_NAME, + D_DATE + from store_sales, + date_dim, + customer + where store_sales.SS_SOLD_DATE_SK = date_dim.D_DATE_SK + and store_sales.SS_CUSTOMER_SK = customer.C_CUSTOMER_SK + and D_MONTH_SEQ between 1176 and 1176 + 11 + ) + except ( + select distinct C_LAST_NAME, + C_FIRST_NAME, + D_DATE + from catalog_sales, + date_dim, + customer + where catalog_sales.CS_SOLD_DATE_SK = date_dim.D_DATE_SK + and catalog_sales.CS_BILL_CUSTOMER_SK = customer.C_CUSTOMER_SK + and D_MONTH_SEQ between 1176 and 1176 + 11 + ) + except ( + select distinct C_LAST_NAME, + C_FIRST_NAME, + D_DATE + from web_sales, + date_dim, + customer + where web_sales.WS_SOLD_DATE_SK = date_dim.D_DATE_SK + and web_sales.WS_BILL_CUSTOMER_SK = customer.C_CUSTOMER_SK + and D_MONTH_SEQ between 1176 and 1176 + 11 + ) + ) cool_cust option (label = 'TPCDS-Q87'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query88.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query88.sql new file mode 100644 index 00000000..c85e9476 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query88.sql @@ -0,0 +1,217 @@ +select * +from ( + select count(*) h8_30_to_9 + from store_sales, + household_demographics, + time_dim, + store + where SS_SOLD_TIME_SK = time_dim.T_TIME_SK + and SS_HDEMO_SK = household_demographics.HD_DEMO_SK + and SS_STORE_SK = S_STORE_SK + and time_dim.T_HOUR = 8 + and time_dim.T_MINUTE >= 30 + and ( + ( + household_demographics.HD_DEP_COUNT = 2 + and household_demographics.HD_VEHICLE_COUNT <= 2 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = 0 + and household_demographics.HD_VEHICLE_COUNT <= 0 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = -1 + and household_demographics.HD_VEHICLE_COUNT <= -1 + 2 + ) + ) + and store.S_STORE_NAME = 'ese' + ) s1, + ( + select count(*) h9_to_9_30 + from store_sales, + household_demographics, + time_dim, + store + where SS_SOLD_TIME_SK = time_dim.T_TIME_SK + and SS_HDEMO_SK = household_demographics.HD_DEMO_SK + and SS_STORE_SK = S_STORE_SK + and time_dim.T_HOUR = 9 + and time_dim.T_MINUTE < 30 + and ( + ( + household_demographics.HD_DEP_COUNT = 2 + and household_demographics.HD_VEHICLE_COUNT <= 2 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = 0 + and household_demographics.HD_VEHICLE_COUNT <= 0 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = -1 + and household_demographics.HD_VEHICLE_COUNT <= -1 + 2 + ) + ) + and store.S_STORE_NAME = 'ese' + ) s2, + ( + select count(*) h9_30_to_10 + from store_sales, + household_demographics, + time_dim, + store + where SS_SOLD_TIME_SK = time_dim.T_TIME_SK + and SS_HDEMO_SK = household_demographics.HD_DEMO_SK + and SS_STORE_SK = S_STORE_SK + and time_dim.T_HOUR = 9 + and time_dim.T_MINUTE >= 30 + and ( + ( + household_demographics.HD_DEP_COUNT = 2 + and household_demographics.HD_VEHICLE_COUNT <= 2 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = 0 + and household_demographics.HD_VEHICLE_COUNT <= 0 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = -1 + and household_demographics.HD_VEHICLE_COUNT <= -1 + 2 + ) + ) + and store.S_STORE_NAME = 'ese' + ) s3, + ( + select count(*) h10_to_10_30 + from store_sales, + household_demographics, + time_dim, + store + where SS_SOLD_TIME_SK = time_dim.T_TIME_SK + and SS_HDEMO_SK = household_demographics.HD_DEMO_SK + and SS_STORE_SK = S_STORE_SK + and time_dim.T_HOUR = 10 + and time_dim.T_MINUTE < 30 + and ( + ( + household_demographics.HD_DEP_COUNT = 2 + and household_demographics.HD_VEHICLE_COUNT <= 2 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = 0 + and household_demographics.HD_VEHICLE_COUNT <= 0 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = -1 + and household_demographics.HD_VEHICLE_COUNT <= -1 + 2 + ) + ) + and store.S_STORE_NAME = 'ese' + ) s4, + ( + select count(*) h10_30_to_11 + from store_sales, + household_demographics, + time_dim, + store + where SS_SOLD_TIME_SK = time_dim.T_TIME_SK + and SS_HDEMO_SK = household_demographics.HD_DEMO_SK + and SS_STORE_SK = S_STORE_SK + and time_dim.T_HOUR = 10 + and time_dim.T_MINUTE >= 30 + and ( + ( + household_demographics.HD_DEP_COUNT = 2 + and household_demographics.HD_VEHICLE_COUNT <= 2 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = 0 + and household_demographics.HD_VEHICLE_COUNT <= 0 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = -1 + and household_demographics.HD_VEHICLE_COUNT <= -1 + 2 + ) + ) + and store.S_STORE_NAME = 'ese' + ) s5, + ( + select count(*) h11_to_11_30 + from store_sales, + household_demographics, + time_dim, + store + where SS_SOLD_TIME_SK = time_dim.T_TIME_SK + and SS_HDEMO_SK = household_demographics.HD_DEMO_SK + and SS_STORE_SK = S_STORE_SK + and time_dim.T_HOUR = 11 + and time_dim.T_MINUTE < 30 + and ( + ( + household_demographics.HD_DEP_COUNT = 2 + and household_demographics.HD_VEHICLE_COUNT <= 2 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = 0 + and household_demographics.HD_VEHICLE_COUNT <= 0 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = -1 + and household_demographics.HD_VEHICLE_COUNT <= -1 + 2 + ) + ) + and store.S_STORE_NAME = 'ese' + ) s6, + ( + select count(*) h11_30_to_12 + from store_sales, + household_demographics, + time_dim, + store + where SS_SOLD_TIME_SK = time_dim.T_TIME_SK + and SS_HDEMO_SK = household_demographics.HD_DEMO_SK + and SS_STORE_SK = S_STORE_SK + and time_dim.T_HOUR = 11 + and time_dim.T_MINUTE >= 30 + and ( + ( + household_demographics.HD_DEP_COUNT = 2 + and household_demographics.HD_VEHICLE_COUNT <= 2 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = 0 + and household_demographics.HD_VEHICLE_COUNT <= 0 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = -1 + and household_demographics.HD_VEHICLE_COUNT <= -1 + 2 + ) + ) + and store.S_STORE_NAME = 'ese' + ) s7, + ( + select count(*) h12_to_12_30 + from store_sales, + household_demographics, + time_dim, + store + where SS_SOLD_TIME_SK = time_dim.T_TIME_SK + and SS_HDEMO_SK = household_demographics.HD_DEMO_SK + and SS_STORE_SK = S_STORE_SK + and time_dim.T_HOUR = 12 + and time_dim.T_MINUTE < 30 + and ( + ( + household_demographics.HD_DEP_COUNT = 2 + and household_demographics.HD_VEHICLE_COUNT <= 2 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = 0 + and household_demographics.HD_VEHICLE_COUNT <= 0 + 2 + ) + or ( + household_demographics.HD_DEP_COUNT = -1 + and household_demographics.HD_VEHICLE_COUNT <= -1 + 2 + ) + ) + and store.S_STORE_NAME = 'ese' + ) s8 option (label = 'TPCDS-Q88'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query89.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query89.sql new file mode 100644 index 00000000..f330894c --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query89.sql @@ -0,0 +1,48 @@ +select top 100 * +from( + select I_CATEGORY, + I_CLASS, + I_BRAND, + S_STORE_NAME, + S_COMPANY_NAME, + D_MOY, + sum(SS_SALES_PRICE) sum_sales, + avg(sum(SS_SALES_PRICE)) over ( + partition by I_CATEGORY, + I_BRAND, + S_STORE_NAME, + S_COMPANY_NAME + ) avg_monthly_sales + from item, + store_sales, + date_dim, + store + where SS_ITEM_SK = I_ITEM_SK + and SS_SOLD_DATE_SK = D_DATE_SK + and SS_STORE_SK = S_STORE_SK + and D_YEAR in (1999) + and ( + ( + I_CATEGORY in ('Jewelry', 'Men', 'Women') + and I_CLASS in ('rings', 'pants', 'swimwear') + ) + or ( + I_CATEGORY in ('Electronics', 'Sports', 'Jewelry') + and I_CLASS in ('televisions', 'optics', 'costume') + ) + ) + group by I_CATEGORY, + I_CLASS, + I_BRAND, + S_STORE_NAME, + S_COMPANY_NAME, + D_MOY + ) tmp1 +where case + when (avg_monthly_sales <> 0) then ( + abs(sum_sales - avg_monthly_sales) / avg_monthly_sales + ) + else null + end > 0.1 +order by sum_sales - avg_monthly_sales, + S_STORE_NAME option (label = 'TPCDS-Q89'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query9.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query9.sql new file mode 100644 index 00000000..dad2cc07 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query9.sql @@ -0,0 +1,82 @@ +select case + when ( + select count(*) + from store_sales + where SS_QUANTITY between 1 and 20 + ) > 24114 then ( + select avg(SS_EXT_TAX) + from store_sales + where SS_QUANTITY between 1 and 20 + ) + else ( + select avg(SS_NET_PROFIT) + from store_sales + where SS_QUANTITY between 1 and 20 + ) + end bucket1, + case + when ( + select count(*) + from store_sales + where SS_QUANTITY between 21 and 40 + ) > 21602 then ( + select avg(SS_EXT_TAX) + from store_sales + where SS_QUANTITY between 21 and 40 + ) + else ( + select avg(SS_NET_PROFIT) + from store_sales + where SS_QUANTITY between 21 and 40 + ) + end bucket2, + case + when ( + select count(*) + from store_sales + where SS_QUANTITY between 41 and 60 + ) > 391592 then ( + select avg(SS_EXT_TAX) + from store_sales + where SS_QUANTITY between 41 and 60 + ) + else ( + select avg(SS_NET_PROFIT) + from store_sales + where SS_QUANTITY between 41 and 60 + ) + end bucket3, + case + when ( + select count(*) + from store_sales + where SS_QUANTITY between 61 and 80 + ) > 60278 then ( + select avg(SS_EXT_TAX) + from store_sales + where SS_QUANTITY between 61 and 80 + ) + else ( + select avg(SS_NET_PROFIT) + from store_sales + where SS_QUANTITY between 61 and 80 + ) + end bucket4, + case + when ( + select count(*) + from store_sales + where SS_QUANTITY between 81 and 100 + ) > 384990 then ( + select avg(SS_EXT_TAX) + from store_sales + where SS_QUANTITY between 81 and 100 + ) + else ( + select avg(SS_NET_PROFIT) + from store_sales + where SS_QUANTITY between 81 and 100 + ) + end bucket5 +from reason +where R_REASON_SK = 1 option (label = 'TPCDS-Q9'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query90.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query90.sql new file mode 100644 index 00000000..90114be1 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query90.sql @@ -0,0 +1,28 @@ +select top 100 cast(amc as decimal(15, 4)) / cast(pmc as decimal(15, 4)) am_pm_ratio +from ( + select count(*) amc + from web_sales, + household_demographics, + time_dim, + web_page + where WS_SOLD_TIME_SK = time_dim.T_TIME_SK + and WS_SHIP_HDEMO_SK = household_demographics.HD_DEMO_SK + and WS_WEB_PAGE_SK = web_page.WP_WEB_PAGE_SK + and time_dim.T_HOUR between 6 and 6 + 1 + and household_demographics.HD_DEP_COUNT = 0 + and web_page.WP_CHAR_COUNT between 5000 and 5200 + ) at, + ( + select count(*) pmc + from web_sales, + household_demographics, + time_dim, + web_page + where WS_SOLD_TIME_SK = time_dim.T_TIME_SK + and WS_SHIP_HDEMO_SK = household_demographics.HD_DEMO_SK + and WS_WEB_PAGE_SK = web_page.WP_WEB_PAGE_SK + and time_dim.T_HOUR between 19 and 19 + 1 + and household_demographics.HD_DEP_COUNT = 0 + and web_page.WP_CHAR_COUNT between 5000 and 5200 + ) pt +order by am_pm_ratio option (label = 'TPCDS-Q90'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query91.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query91.sql new file mode 100644 index 00000000..8ae89c71 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query91.sql @@ -0,0 +1,37 @@ +select CC_CALL_CENTER_ID Call_Center, + CC_NAME Call_Center_Name, + CC_MANAGER Manager, + sum(CR_NET_LOSS) Returns_Loss +from call_center, + catalog_returns, + date_dim, + customer, + customer_address, + customer_demographics, + household_demographics +where CR_CALL_CENTER_SK = CC_CALL_CENTER_SK + and CR_RETURNED_DATE_SK = D_DATE_SK + and CR_RETURNING_CUSTOMER_SK = C_CUSTOMER_SK + and CD_DEMO_SK = C_CURRENT_CDEMO_SK + and HD_DEMO_SK = C_CURRENT_HDEMO_SK + and CA_ADDRESS_SK = C_CURRENT_ADDR_SK + and D_YEAR = 2001 + and D_MOY = 11 + and ( + ( + CD_MARITAL_STATUS = 'M' + and CD_EDUCATION_STATUS = 'Unknown' + ) + or( + CD_MARITAL_STATUS = 'W' + and CD_EDUCATION_STATUS = 'Advanced Degree' + ) + ) + and HD_BUY_POTENTIAL like '>10000%' + and CA_GMT_OFFSET = -6 +group by CC_CALL_CENTER_ID, + CC_NAME, + CC_MANAGER, + CD_MARITAL_STATUS, + CD_EDUCATION_STATUS +order by sum(CR_NET_LOSS) desc option (label = 'TPCDS-Q91'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query92.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query92.sql new file mode 100644 index 00000000..c6b3339a --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query92.sql @@ -0,0 +1,17 @@ +select top 100 sum(WS_EXT_DISCOUNT_AMT) as "Excess Discount Amount" +from web_sales, + item, + date_dim +where I_MANUFACT_ID = 591 + and I_ITEM_SK = WS_ITEM_SK + and D_DATE between '2000-01-03' and dateadd(day, 90, (cast('2000-01-03' as date))) + and D_DATE_SK = WS_SOLD_DATE_SK + and WS_EXT_DISCOUNT_AMT > ( + SELECT 1.3 * avg(WS_EXT_DISCOUNT_AMT) + FROM web_sales, + date_dim + WHERE WS_ITEM_SK = I_ITEM_SK + and D_DATE between '2000-01-03' and dateadd(day, 90, (cast('2000-01-03' as date))) + and D_DATE_SK = WS_SOLD_DATE_SK + ) +order by sum(WS_EXT_DISCOUNT_AMT) option (label = 'TPCDS-Q92'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query93.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query93.sql new file mode 100644 index 00000000..158e22b8 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query93.sql @@ -0,0 +1,22 @@ +select top 100 SS_CUSTOMER_SK, + sum(act_sales) sumsales +from ( + select SS_ITEM_SK, + SS_TICKET_NUMBER, + SS_CUSTOMER_SK, +case + when SR_RETURN_QUANTITY is not null then (SS_QUANTITY - SR_RETURN_QUANTITY) * SS_SALES_PRICE + else (SS_QUANTITY * SS_SALES_PRICE) + end act_sales + from store_sales + left outer join store_returns on ( + SR_ITEM_SK = SS_ITEM_SK + and SR_TICKET_NUMBER = SS_TICKET_NUMBER + ), + reason + where SR_REASON_SK = R_REASON_SK + and R_REASON_DESC = 'reason 43' + ) t +group by SS_CUSTOMER_SK +order by sumsales, + SS_CUSTOMER_SK option (label = 'TPCDS-Q93'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query94.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query94.sql new file mode 100644 index 00000000..ca75a0e8 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query94.sql @@ -0,0 +1,25 @@ +select top 100 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 ws1, + date_dim, + customer_address, + web_site +where D_DATE between '2001-3-01' and dateadd(day, 60, (cast('2001-3-01' as date))) + and ws1.WS_SHIP_DATE_SK = D_DATE_SK + and ws1.WS_SHIP_ADDR_SK = CA_ADDRESS_SK + and CA_STATE = 'KS' + and ws1.WS_WEB_SITE_SK = WEB_SITE_SK + and WEB_COMPANY_NAME = 'pri' + and exists ( + select * + from web_sales ws2 + where ws1.WS_ORDER_NUMBER = ws2.WS_ORDER_NUMBER + and ws1.WS_WAREHOUSE_SK <> ws2.WS_WAREHOUSE_SK + ) + and not exists( + select * + from web_returns wr1 + where ws1.WS_ORDER_NUMBER = wr1.WR_ORDER_NUMBER + ) +order by count(distinct WS_ORDER_NUMBER) option (label = 'TPCDS-Q94'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query95.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query95.sql new file mode 100644 index 00000000..a047e411 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query95.sql @@ -0,0 +1,33 @@ +with ws_wh as ( + select ws1.WS_ORDER_NUMBER, + ws1.WS_WAREHOUSE_SK wh1, + ws2.WS_WAREHOUSE_SK wh2 + from web_sales ws1, + web_sales ws2 + where ws1.WS_ORDER_NUMBER = ws2.WS_ORDER_NUMBER + and ws1.WS_WAREHOUSE_SK <> ws2.WS_WAREHOUSE_SK +) +select top 100 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 ws1, + date_dim, + customer_address, + web_site +where D_DATE between '2001-3-01' and dateadd(day, 60, (cast('2001-3-01' as date))) + and ws1.WS_SHIP_DATE_SK = D_DATE_SK + and ws1.WS_SHIP_ADDR_SK = CA_ADDRESS_SK + and CA_STATE = 'KS' + 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) option (label = 'TPCDS-Q95'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query96.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query96.sql new file mode 100644 index 00000000..a4104584 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query96.sql @@ -0,0 +1,13 @@ +select top 100 count(*) +from store_sales, + household_demographics, + time_dim, + store +where SS_SOLD_TIME_SK = time_dim.T_TIME_SK + and SS_HDEMO_SK = household_demographics.HD_DEMO_SK + and SS_STORE_SK = S_STORE_SK + and time_dim.T_HOUR = 15 + and time_dim.T_MINUTE >= 30 + and household_demographics.HD_DEP_COUNT = 2 + and store.S_STORE_NAME = 'ese' +order by count(*) option (label = 'TPCDS-Q96'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query97.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query97.sql new file mode 100644 index 00000000..8809ffcf --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query97.sql @@ -0,0 +1,46 @@ +with ssci as ( + select SS_CUSTOMER_SK customer_sk, + SS_ITEM_SK item_sk + from store_sales, + date_dim + where SS_SOLD_DATE_SK = D_DATE_SK + and D_MONTH_SEQ between 1176 and 1176 + 11 + group by SS_CUSTOMER_SK, + SS_ITEM_SK +), +csci as( + select CS_BILL_CUSTOMER_SK customer_sk, + CS_ITEM_SK item_sk + from catalog_sales, + date_dim + where CS_SOLD_DATE_SK = D_DATE_SK + and D_MONTH_SEQ between 1176 and 1176 + 11 + group by CS_BILL_CUSTOMER_SK, + CS_ITEM_SK +) +select top 100 sum( + case + when ssci.customer_sk is not null + and csci.customer_sk is null then 1 + else 0 + end + ) store_only, + sum( + case + when ssci.customer_sk is null + and csci.customer_sk is not null then 1 + else 0 + end + ) catalog_only, + sum( + case + when ssci.customer_sk is not null + and csci.customer_sk is not null then 1 + else 0 + end + ) store_and_catalog +from ssci + full outer join csci on ( + ssci.customer_sk = csci.customer_sk + and ssci.item_sk = csci.item_sk + ) option (label = 'TPCDS-Q97'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query98.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query98.sql new file mode 100644 index 00000000..904edd0b --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query98.sql @@ -0,0 +1,25 @@ +select I_ITEM_ID, + I_ITEM_DESC, + I_CATEGORY, + I_CLASS, + I_CURRENT_PRICE, + sum(SS_EXT_SALES_PRICE) as itemrevenue, + sum(SS_EXT_SALES_PRICE) * 100 / sum(sum(SS_EXT_SALES_PRICE)) over (partition by I_CLASS) as revenueratio +from store_sales, + item, + date_dim +where SS_ITEM_SK = I_ITEM_SK + and I_CATEGORY in ('Jewelry', 'Men', 'Electronics') + and SS_SOLD_DATE_SK = D_DATE_SK + and D_DATE between cast('1999-03-09' as date) + and dateadd(day, 30, (cast('1999-03-09' as date))) +group by I_ITEM_ID, + I_ITEM_DESC, + I_CATEGORY, + I_CLASS, + I_CURRENT_PRICE +order by I_CATEGORY, + I_CLASS, + I_ITEM_ID, + I_ITEM_DESC, + revenueratio option (label = 'TPCDS-Q98'); \ No newline at end of file diff --git a/src/main/resources/scripts/tpcds/single_user/fabric/query99.sql b/src/main/resources/scripts/tpcds/single_user/fabric/query99.sql new file mode 100644 index 00000000..2b465891 --- /dev/null +++ b/src/main/resources/scripts/tpcds/single_user/fabric/query99.sql @@ -0,0 +1,52 @@ +select top 100 substring(W_WAREHOUSE_NAME, 1, 20), + SM_TYPE, + CC_NAME, + sum( + case + when (CS_SHIP_DATE_SK - CS_SOLD_DATE_SK <= 30) then 1 + else 0 + end + ) as "30 days", + sum( + case + when (CS_SHIP_DATE_SK - CS_SOLD_DATE_SK > 30) + and (CS_SHIP_DATE_SK - CS_SOLD_DATE_SK <= 60) then 1 + else 0 + end + ) as "31-60 days", + sum( + case + when (CS_SHIP_DATE_SK - CS_SOLD_DATE_SK > 60) + and (CS_SHIP_DATE_SK - CS_SOLD_DATE_SK <= 90) then 1 + else 0 + end + ) as "61-90 days", + sum( + case + when (CS_SHIP_DATE_SK - CS_SOLD_DATE_SK > 90) + and (CS_SHIP_DATE_SK - CS_SOLD_DATE_SK <= 120) then 1 + else 0 + end + ) as "91-120 days", + sum( + case + when (CS_SHIP_DATE_SK - CS_SOLD_DATE_SK > 120) then 1 + else 0 + end + ) as ">120 days" +from catalog_sales, + warehouse, + ship_mode, + call_center, + date_dim +where D_MONTH_SEQ between 1176 and 1176 + 11 + and CS_SHIP_DATE_SK = D_DATE_SK + and CS_WAREHOUSE_SK = W_WAREHOUSE_SK + and CS_SHIP_MODE_SK = SM_SHIP_MODE_SK + and CS_CALL_CENTER_SK = CC_CALL_CENTER_SK +group by substring(W_WAREHOUSE_NAME, 1, 20), + SM_TYPE, + CC_NAME +order by substring(W_WAREHOUSE_NAME, 1, 20), + SM_TYPE, + CC_NAME; \ No newline at end of file