== Physical Plan ==
TakeOrderedAndProject (35)
+- * HashAggregate (34)
   +- Exchange (33)
      +- * HashAggregate (32)
         +- Union (31)
            :- * HashAggregate (28)
            :  +- Exchange (27)
            :     +- * HashAggregate (26)
            :        +- * ColumnarToRow (25)
            :           +- CometProject (24)
            :              +- CometBroadcastHashJoin (23)
            :                 :- CometProject (18)
            :                 :  +- CometBroadcastHashJoin (17)
            :                 :     :- CometProject (12)
            :                 :     :  +- CometBroadcastHashJoin (11)
            :                 :     :     :- CometProject (7)
            :                 :     :     :  +- CometBroadcastHashJoin (6)
            :                 :     :     :     :- CometFilter (2)
            :                 :     :     :     :  +- CometNativeScan: `spark_catalog`.`default`.`web_sales` (1)
            :                 :     :     :     +- CometBroadcastExchange (5)
            :                 :     :     :        +- CometFilter (4)
            :                 :     :     :           +- CometNativeScan: `spark_catalog`.`default`.`warehouse` (3)
            :                 :     :     +- CometBroadcastExchange (10)
            :                 :     :        +- CometFilter (9)
            :                 :     :           +- CometNativeScan: `spark_catalog`.`default`.`date_dim` (8)
            :                 :     +- CometBroadcastExchange (16)
            :                 :        +- CometProject (15)
            :                 :           +- CometFilter (14)
            :                 :              +- CometNativeScan: `spark_catalog`.`default`.`time_dim` (13)
            :                 +- CometBroadcastExchange (22)
            :                    +- CometProject (21)
            :                       +- CometFilter (20)
            :                          +- CometNativeScan: `spark_catalog`.`default`.`ship_mode` (19)
            +- * HashAggregate (30)
               +- ReusedExchange (29)


(1) CometNativeScan: `spark_catalog`.`default`.`web_sales`
Output [7]: [ws_sold_time_sk#1, ws_ship_mode_sk#2, ws_warehouse_sk#3, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, ws_sold_date_sk#7]
Arguments: [ws_sold_time_sk#1, ws_ship_mode_sk#2, ws_warehouse_sk#3, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, ws_sold_date_sk#7]

(2) CometFilter
Input [7]: [ws_sold_time_sk#1, ws_ship_mode_sk#2, ws_warehouse_sk#3, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, ws_sold_date_sk#7]
Condition : ((isnotnull(ws_warehouse_sk#3) AND isnotnull(ws_sold_time_sk#1)) AND isnotnull(ws_ship_mode_sk#2))

(3) CometNativeScan: `spark_catalog`.`default`.`warehouse`
Output [7]: [w_warehouse_sk#8, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14]
Arguments: [w_warehouse_sk#8, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14]

(4) CometFilter
Input [7]: [w_warehouse_sk#8, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14]
Condition : isnotnull(w_warehouse_sk#8)

(5) CometBroadcastExchange
Input [7]: [w_warehouse_sk#8, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14]
Arguments: [w_warehouse_sk#8, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14]

(6) CometBroadcastHashJoin
Left output [7]: [ws_sold_time_sk#1, ws_ship_mode_sk#2, ws_warehouse_sk#3, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, ws_sold_date_sk#7]
Right output [7]: [w_warehouse_sk#8, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14]
Arguments: [ws_warehouse_sk#3], [w_warehouse_sk#8], Inner, BuildRight

(7) CometProject
Input [14]: [ws_sold_time_sk#1, ws_ship_mode_sk#2, ws_warehouse_sk#3, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, ws_sold_date_sk#7, w_warehouse_sk#8, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14]
Arguments: [ws_sold_time_sk#1, ws_ship_mode_sk#2, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, ws_sold_date_sk#7, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14], [ws_sold_time_sk#1, ws_ship_mode_sk#2, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, ws_sold_date_sk#7, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14]

(8) CometNativeScan: `spark_catalog`.`default`.`date_dim`
Output [3]: [d_date_sk#15, d_year#16, d_moy#17]
Arguments: [d_date_sk#15, d_year#16, d_moy#17]

(9) CometFilter
Input [3]: [d_date_sk#15, d_year#16, d_moy#17]
Condition : ((isnotnull(d_year#16) AND (d_year#16 = 2001)) AND isnotnull(d_date_sk#15))

(10) CometBroadcastExchange
Input [3]: [d_date_sk#15, d_year#16, d_moy#17]
Arguments: [d_date_sk#15, d_year#16, d_moy#17]

(11) CometBroadcastHashJoin
Left output [12]: [ws_sold_time_sk#1, ws_ship_mode_sk#2, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, ws_sold_date_sk#7, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14]
Right output [3]: [d_date_sk#15, d_year#16, d_moy#17]
Arguments: [ws_sold_date_sk#7], [d_date_sk#15], Inner, BuildRight

(12) CometProject
Input [15]: [ws_sold_time_sk#1, ws_ship_mode_sk#2, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, ws_sold_date_sk#7, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_date_sk#15, d_year#16, d_moy#17]
Arguments: [ws_sold_time_sk#1, ws_ship_mode_sk#2, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, d_moy#17], [ws_sold_time_sk#1, ws_ship_mode_sk#2, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, d_moy#17]

(13) CometNativeScan: `spark_catalog`.`default`.`time_dim`
Output [2]: [t_time_sk#18, t_time#19]
Arguments: [t_time_sk#18, t_time#19]

(14) CometFilter
Input [2]: [t_time_sk#18, t_time#19]
Condition : (((isnotnull(t_time#19) AND (t_time#19 >= 30838)) AND (t_time#19 <= 59638)) AND isnotnull(t_time_sk#18))

(15) CometProject
Input [2]: [t_time_sk#18, t_time#19]
Arguments: [t_time_sk#18], [t_time_sk#18]

(16) CometBroadcastExchange
Input [1]: [t_time_sk#18]
Arguments: [t_time_sk#18]

(17) CometBroadcastHashJoin
Left output [13]: [ws_sold_time_sk#1, ws_ship_mode_sk#2, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, d_moy#17]
Right output [1]: [t_time_sk#18]
Arguments: [ws_sold_time_sk#1], [t_time_sk#18], Inner, BuildRight

(18) CometProject
Input [14]: [ws_sold_time_sk#1, ws_ship_mode_sk#2, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, d_moy#17, t_time_sk#18]
Arguments: [ws_ship_mode_sk#2, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, d_moy#17], [ws_ship_mode_sk#2, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, d_moy#17]

(19) CometNativeScan: `spark_catalog`.`default`.`ship_mode`
Output [2]: [sm_ship_mode_sk#20, sm_carrier#21]
Arguments: [sm_ship_mode_sk#20, sm_carrier#21]

(20) CometFilter
Input [2]: [sm_ship_mode_sk#20, sm_carrier#21]
Condition : (sm_carrier#21 IN (DHL                 ,BARIAN              ) AND isnotnull(sm_ship_mode_sk#20))

(21) CometProject
Input [2]: [sm_ship_mode_sk#20, sm_carrier#21]
Arguments: [sm_ship_mode_sk#20], [sm_ship_mode_sk#20]

(22) CometBroadcastExchange
Input [1]: [sm_ship_mode_sk#20]
Arguments: [sm_ship_mode_sk#20]

(23) CometBroadcastHashJoin
Left output [12]: [ws_ship_mode_sk#2, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, d_moy#17]
Right output [1]: [sm_ship_mode_sk#20]
Arguments: [ws_ship_mode_sk#2], [sm_ship_mode_sk#20], Inner, BuildRight

(24) CometProject
Input [13]: [ws_ship_mode_sk#2, ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, d_moy#17, sm_ship_mode_sk#20]
Arguments: [ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, d_moy#17], [ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, d_moy#17]

(25) ColumnarToRow [codegen id : 1]
Input [11]: [ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, d_moy#17]

(26) HashAggregate [codegen id : 1]
Input [11]: [ws_quantity#4, ws_ext_sales_price#5, ws_net_paid#6, w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, d_moy#17]
Keys [7]: [w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16]
Functions [24]: [partial_sum(CASE WHEN (d_moy#17 = 1) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 2) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 3) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 4) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 5) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 6) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 7) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 8) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 9) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 10) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 11) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 12) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 1) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 2) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 3) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 4) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 5) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 6) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 7) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 8) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 9) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 10) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 11) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), partial_sum(CASE WHEN (d_moy#17 = 12) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)]
Aggregate Attributes [48]: [sum#22, isEmpty#23, sum#24, isEmpty#25, sum#26, isEmpty#27, sum#28, isEmpty#29, sum#30, isEmpty#31, sum#32, isEmpty#33, sum#34, isEmpty#35, sum#36, isEmpty#37, sum#38, isEmpty#39, sum#40, isEmpty#41, sum#42, isEmpty#43, sum#44, isEmpty#45, sum#46, isEmpty#47, sum#48, isEmpty#49, sum#50, isEmpty#51, sum#52, isEmpty#53, sum#54, isEmpty#55, sum#56, isEmpty#57, sum#58, isEmpty#59, sum#60, isEmpty#61, sum#62, isEmpty#63, sum#64, isEmpty#65, sum#66, isEmpty#67, sum#68, isEmpty#69]
Results [55]: [w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, sum#70, isEmpty#71, sum#72, isEmpty#73, sum#74, isEmpty#75, sum#76, isEmpty#77, sum#78, isEmpty#79, sum#80, isEmpty#81, sum#82, isEmpty#83, sum#84, isEmpty#85, sum#86, isEmpty#87, sum#88, isEmpty#89, sum#90, isEmpty#91, sum#92, isEmpty#93, sum#94, isEmpty#95, sum#96, isEmpty#97, sum#98, isEmpty#99, sum#100, isEmpty#101, sum#102, isEmpty#103, sum#104, isEmpty#105, sum#106, isEmpty#107, sum#108, isEmpty#109, sum#110, isEmpty#111, sum#112, isEmpty#113, sum#114, isEmpty#115, sum#116, isEmpty#117]

(27) Exchange
Input [55]: [w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, sum#70, isEmpty#71, sum#72, isEmpty#73, sum#74, isEmpty#75, sum#76, isEmpty#77, sum#78, isEmpty#79, sum#80, isEmpty#81, sum#82, isEmpty#83, sum#84, isEmpty#85, sum#86, isEmpty#87, sum#88, isEmpty#89, sum#90, isEmpty#91, sum#92, isEmpty#93, sum#94, isEmpty#95, sum#96, isEmpty#97, sum#98, isEmpty#99, sum#100, isEmpty#101, sum#102, isEmpty#103, sum#104, isEmpty#105, sum#106, isEmpty#107, sum#108, isEmpty#109, sum#110, isEmpty#111, sum#112, isEmpty#113, sum#114, isEmpty#115, sum#116, isEmpty#117]
Arguments: hashpartitioning(w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, 5), ENSURE_REQUIREMENTS, [plan_id=1]

(28) HashAggregate [codegen id : 2]
Input [55]: [w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16, sum#70, isEmpty#71, sum#72, isEmpty#73, sum#74, isEmpty#75, sum#76, isEmpty#77, sum#78, isEmpty#79, sum#80, isEmpty#81, sum#82, isEmpty#83, sum#84, isEmpty#85, sum#86, isEmpty#87, sum#88, isEmpty#89, sum#90, isEmpty#91, sum#92, isEmpty#93, sum#94, isEmpty#95, sum#96, isEmpty#97, sum#98, isEmpty#99, sum#100, isEmpty#101, sum#102, isEmpty#103, sum#104, isEmpty#105, sum#106, isEmpty#107, sum#108, isEmpty#109, sum#110, isEmpty#111, sum#112, isEmpty#113, sum#114, isEmpty#115, sum#116, isEmpty#117]
Keys [7]: [w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, d_year#16]
Functions [24]: [sum(CASE WHEN (d_moy#17 = 1) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 2) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 3) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 4) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 5) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 6) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 7) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 8) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 9) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 10) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 11) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 12) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 1) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 2) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 3) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 4) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 5) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 6) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 7) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 8) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 9) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 10) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 11) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#17 = 12) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)]
Aggregate Attributes [24]: [sum(CASE WHEN (d_moy#17 = 1) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#118, sum(CASE WHEN (d_moy#17 = 2) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#119, sum(CASE WHEN (d_moy#17 = 3) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#120, sum(CASE WHEN (d_moy#17 = 4) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#121, sum(CASE WHEN (d_moy#17 = 5) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#122, sum(CASE WHEN (d_moy#17 = 6) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#123, sum(CASE WHEN (d_moy#17 = 7) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#124, sum(CASE WHEN (d_moy#17 = 8) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#125, sum(CASE WHEN (d_moy#17 = 9) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#126, sum(CASE WHEN (d_moy#17 = 10) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#127, sum(CASE WHEN (d_moy#17 = 11) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#128, sum(CASE WHEN (d_moy#17 = 12) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#129, sum(CASE WHEN (d_moy#17 = 1) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#130, sum(CASE WHEN (d_moy#17 = 2) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#131, sum(CASE WHEN (d_moy#17 = 3) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#132, sum(CASE WHEN (d_moy#17 = 4) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#133, sum(CASE WHEN (d_moy#17 = 5) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#134, sum(CASE WHEN (d_moy#17 = 6) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#135, sum(CASE WHEN (d_moy#17 = 7) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#136, sum(CASE WHEN (d_moy#17 = 8) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#137, sum(CASE WHEN (d_moy#17 = 9) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#138, sum(CASE WHEN (d_moy#17 = 10) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#139, sum(CASE WHEN (d_moy#17 = 11) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#140, sum(CASE WHEN (d_moy#17 = 12) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#141]
Results [32]: [w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, DHL,BARIAN AS ship_carriers#142, d_year#16 AS year#143, sum(CASE WHEN (d_moy#17 = 1) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#118 AS jan_sales#144, sum(CASE WHEN (d_moy#17 = 2) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#119 AS feb_sales#145, sum(CASE WHEN (d_moy#17 = 3) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#120 AS mar_sales#146, sum(CASE WHEN (d_moy#17 = 4) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#121 AS apr_sales#147, sum(CASE WHEN (d_moy#17 = 5) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#122 AS may_sales#148, sum(CASE WHEN (d_moy#17 = 6) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#123 AS jun_sales#149, sum(CASE WHEN (d_moy#17 = 7) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#124 AS jul_sales#150, sum(CASE WHEN (d_moy#17 = 8) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#125 AS aug_sales#151, sum(CASE WHEN (d_moy#17 = 9) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#126 AS sep_sales#152, sum(CASE WHEN (d_moy#17 = 10) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#127 AS oct_sales#153, sum(CASE WHEN (d_moy#17 = 11) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#128 AS nov_sales#154, sum(CASE WHEN (d_moy#17 = 12) THEN (ws_ext_sales_price#5 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#129 AS dec_sales#155, sum(CASE WHEN (d_moy#17 = 1) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#130 AS jan_net#156, sum(CASE WHEN (d_moy#17 = 2) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#131 AS feb_net#157, sum(CASE WHEN (d_moy#17 = 3) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#132 AS mar_net#158, sum(CASE WHEN (d_moy#17 = 4) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#133 AS apr_net#159, sum(CASE WHEN (d_moy#17 = 5) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#134 AS may_net#160, sum(CASE WHEN (d_moy#17 = 6) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#135 AS jun_net#161, sum(CASE WHEN (d_moy#17 = 7) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#136 AS jul_net#162, sum(CASE WHEN (d_moy#17 = 8) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#137 AS aug_net#163, sum(CASE WHEN (d_moy#17 = 9) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#138 AS sep_net#164, sum(CASE WHEN (d_moy#17 = 10) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#139 AS oct_net#165, sum(CASE WHEN (d_moy#17 = 11) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#140 AS nov_net#166, sum(CASE WHEN (d_moy#17 = 12) THEN (ws_net_paid#6 * cast(ws_quantity#4 as decimal(10,0))) ELSE 0.00 END)#141 AS dec_net#167]

(29) ReusedExchange [Reuses operator id: 27]
Output [55]: [w_warehouse_name#168, w_warehouse_sq_ft#169, w_city#170, w_county#171, w_state#172, w_country#173, d_year#174, sum#175, isEmpty#176, sum#177, isEmpty#178, sum#179, isEmpty#180, sum#181, isEmpty#182, sum#183, isEmpty#184, sum#185, isEmpty#186, sum#187, isEmpty#188, sum#189, isEmpty#190, sum#191, isEmpty#192, sum#193, isEmpty#194, sum#195, isEmpty#196, sum#197, isEmpty#198, sum#199, isEmpty#200, sum#201, isEmpty#202, sum#203, isEmpty#204, sum#205, isEmpty#206, sum#207, isEmpty#208, sum#209, isEmpty#210, sum#211, isEmpty#212, sum#213, isEmpty#214, sum#215, isEmpty#216, sum#217, isEmpty#218, sum#219, isEmpty#220, sum#221, isEmpty#222]

(30) HashAggregate [codegen id : 4]
Input [55]: [w_warehouse_name#168, w_warehouse_sq_ft#169, w_city#170, w_county#171, w_state#172, w_country#173, d_year#174, sum#175, isEmpty#176, sum#177, isEmpty#178, sum#179, isEmpty#180, sum#181, isEmpty#182, sum#183, isEmpty#184, sum#185, isEmpty#186, sum#187, isEmpty#188, sum#189, isEmpty#190, sum#191, isEmpty#192, sum#193, isEmpty#194, sum#195, isEmpty#196, sum#197, isEmpty#198, sum#199, isEmpty#200, sum#201, isEmpty#202, sum#203, isEmpty#204, sum#205, isEmpty#206, sum#207, isEmpty#208, sum#209, isEmpty#210, sum#211, isEmpty#212, sum#213, isEmpty#214, sum#215, isEmpty#216, sum#217, isEmpty#218, sum#219, isEmpty#220, sum#221, isEmpty#222]
Keys [7]: [w_warehouse_name#168, w_warehouse_sq_ft#169, w_city#170, w_county#171, w_state#172, w_country#173, d_year#174]
Functions [24]: [sum(CASE WHEN (d_moy#223 = 1) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 2) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 3) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 4) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 5) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 6) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 7) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 8) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 9) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 10) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 11) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 12) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 1) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 2) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 3) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 4) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 5) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 6) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 7) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 8) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 9) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 10) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 11) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END), sum(CASE WHEN (d_moy#223 = 12) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)]
Aggregate Attributes [24]: [sum(CASE WHEN (d_moy#223 = 1) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#227, sum(CASE WHEN (d_moy#223 = 2) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#228, sum(CASE WHEN (d_moy#223 = 3) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#229, sum(CASE WHEN (d_moy#223 = 4) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#230, sum(CASE WHEN (d_moy#223 = 5) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#231, sum(CASE WHEN (d_moy#223 = 6) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#232, sum(CASE WHEN (d_moy#223 = 7) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#233, sum(CASE WHEN (d_moy#223 = 8) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#234, sum(CASE WHEN (d_moy#223 = 9) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#235, sum(CASE WHEN (d_moy#223 = 10) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#236, sum(CASE WHEN (d_moy#223 = 11) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#237, sum(CASE WHEN (d_moy#223 = 12) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#238, sum(CASE WHEN (d_moy#223 = 1) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#239, sum(CASE WHEN (d_moy#223 = 2) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#240, sum(CASE WHEN (d_moy#223 = 3) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#241, sum(CASE WHEN (d_moy#223 = 4) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#242, sum(CASE WHEN (d_moy#223 = 5) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#243, sum(CASE WHEN (d_moy#223 = 6) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#244, sum(CASE WHEN (d_moy#223 = 7) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#245, sum(CASE WHEN (d_moy#223 = 8) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#246, sum(CASE WHEN (d_moy#223 = 9) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#247, sum(CASE WHEN (d_moy#223 = 10) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#248, sum(CASE WHEN (d_moy#223 = 11) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#249, sum(CASE WHEN (d_moy#223 = 12) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#250]
Results [32]: [w_warehouse_name#168, w_warehouse_sq_ft#169, w_city#170, w_county#171, w_state#172, w_country#173, DHL,BARIAN AS ship_carriers#251, d_year#174 AS year#252, sum(CASE WHEN (d_moy#223 = 1) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#227 AS jan_sales#253, sum(CASE WHEN (d_moy#223 = 2) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#228 AS feb_sales#254, sum(CASE WHEN (d_moy#223 = 3) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#229 AS mar_sales#255, sum(CASE WHEN (d_moy#223 = 4) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#230 AS apr_sales#256, sum(CASE WHEN (d_moy#223 = 5) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#231 AS may_sales#257, sum(CASE WHEN (d_moy#223 = 6) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#232 AS jun_sales#258, sum(CASE WHEN (d_moy#223 = 7) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#233 AS jul_sales#259, sum(CASE WHEN (d_moy#223 = 8) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#234 AS aug_sales#260, sum(CASE WHEN (d_moy#223 = 9) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#235 AS sep_sales#261, sum(CASE WHEN (d_moy#223 = 10) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#236 AS oct_sales#262, sum(CASE WHEN (d_moy#223 = 11) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#237 AS nov_sales#263, sum(CASE WHEN (d_moy#223 = 12) THEN (cs_sales_price#224 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#238 AS dec_sales#264, sum(CASE WHEN (d_moy#223 = 1) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#239 AS jan_net#265, sum(CASE WHEN (d_moy#223 = 2) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#240 AS feb_net#266, sum(CASE WHEN (d_moy#223 = 3) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#241 AS mar_net#267, sum(CASE WHEN (d_moy#223 = 4) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#242 AS apr_net#268, sum(CASE WHEN (d_moy#223 = 5) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#243 AS may_net#269, sum(CASE WHEN (d_moy#223 = 6) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#244 AS jun_net#270, sum(CASE WHEN (d_moy#223 = 7) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#245 AS jul_net#271, sum(CASE WHEN (d_moy#223 = 8) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#246 AS aug_net#272, sum(CASE WHEN (d_moy#223 = 9) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#247 AS sep_net#273, sum(CASE WHEN (d_moy#223 = 10) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#248 AS oct_net#274, sum(CASE WHEN (d_moy#223 = 11) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#249 AS nov_net#275, sum(CASE WHEN (d_moy#223 = 12) THEN (cs_net_paid_inc_tax#226 * cast(cs_quantity#225 as decimal(10,0))) ELSE 0.00 END)#250 AS dec_net#276]

(31) Union

(32) HashAggregate [codegen id : 5]
Input [32]: [w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, ship_carriers#142, year#143, jan_sales#144, feb_sales#145, mar_sales#146, apr_sales#147, may_sales#148, jun_sales#149, jul_sales#150, aug_sales#151, sep_sales#152, oct_sales#153, nov_sales#154, dec_sales#155, jan_net#156, feb_net#157, mar_net#158, apr_net#159, may_net#160, jun_net#161, jul_net#162, aug_net#163, sep_net#164, oct_net#165, nov_net#166, dec_net#167]
Keys [8]: [w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, ship_carriers#142, year#143]
Functions [36]: [partial_sum(jan_sales#144), partial_sum(feb_sales#145), partial_sum(mar_sales#146), partial_sum(apr_sales#147), partial_sum(may_sales#148), partial_sum(jun_sales#149), partial_sum(jul_sales#150), partial_sum(aug_sales#151), partial_sum(sep_sales#152), partial_sum(oct_sales#153), partial_sum(nov_sales#154), partial_sum(dec_sales#155), partial_sum((jan_sales#144 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), partial_sum((feb_sales#145 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), partial_sum((mar_sales#146 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), partial_sum((apr_sales#147 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), partial_sum((may_sales#148 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), partial_sum((jun_sales#149 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), partial_sum((jul_sales#150 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), partial_sum((aug_sales#151 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), partial_sum((sep_sales#152 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), partial_sum((oct_sales#153 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), partial_sum((nov_sales#154 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), partial_sum((dec_sales#155 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), partial_sum(jan_net#156), partial_sum(feb_net#157), partial_sum(mar_net#158), partial_sum(apr_net#159), partial_sum(may_net#160), partial_sum(jun_net#161), partial_sum(jul_net#162), partial_sum(aug_net#163), partial_sum(sep_net#164), partial_sum(oct_net#165), partial_sum(nov_net#166), partial_sum(dec_net#167)]
Aggregate Attributes [72]: [sum#277, isEmpty#278, sum#279, isEmpty#280, sum#281, isEmpty#282, sum#283, isEmpty#284, sum#285, isEmpty#286, sum#287, isEmpty#288, sum#289, isEmpty#290, sum#291, isEmpty#292, sum#293, isEmpty#294, sum#295, isEmpty#296, sum#297, isEmpty#298, sum#299, isEmpty#300, sum#301, isEmpty#302, sum#303, isEmpty#304, sum#305, isEmpty#306, sum#307, isEmpty#308, sum#309, isEmpty#310, sum#311, isEmpty#312, sum#313, isEmpty#314, sum#315, isEmpty#316, sum#317, isEmpty#318, sum#319, isEmpty#320, sum#321, isEmpty#322, sum#323, isEmpty#324, sum#325, isEmpty#326, sum#327, isEmpty#328, sum#329, isEmpty#330, sum#331, isEmpty#332, sum#333, isEmpty#334, sum#335, isEmpty#336, sum#337, isEmpty#338, sum#339, isEmpty#340, sum#341, isEmpty#342, sum#343, isEmpty#344, sum#345, isEmpty#346, sum#347, isEmpty#348]
Results [80]: [w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, ship_carriers#142, year#143, sum#349, isEmpty#350, sum#351, isEmpty#352, sum#353, isEmpty#354, sum#355, isEmpty#356, sum#357, isEmpty#358, sum#359, isEmpty#360, sum#361, isEmpty#362, sum#363, isEmpty#364, sum#365, isEmpty#366, sum#367, isEmpty#368, sum#369, isEmpty#370, sum#371, isEmpty#372, sum#373, isEmpty#374, sum#375, isEmpty#376, sum#377, isEmpty#378, sum#379, isEmpty#380, sum#381, isEmpty#382, sum#383, isEmpty#384, sum#385, isEmpty#386, sum#387, isEmpty#388, sum#389, isEmpty#390, sum#391, isEmpty#392, sum#393, isEmpty#394, sum#395, isEmpty#396, sum#397, isEmpty#398, sum#399, isEmpty#400, sum#401, isEmpty#402, sum#403, isEmpty#404, sum#405, isEmpty#406, sum#407, isEmpty#408, sum#409, isEmpty#410, sum#411, isEmpty#412, sum#413, isEmpty#414, sum#415, isEmpty#416, sum#417, isEmpty#418, sum#419, isEmpty#420]

(33) Exchange
Input [80]: [w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, ship_carriers#142, year#143, sum#349, isEmpty#350, sum#351, isEmpty#352, sum#353, isEmpty#354, sum#355, isEmpty#356, sum#357, isEmpty#358, sum#359, isEmpty#360, sum#361, isEmpty#362, sum#363, isEmpty#364, sum#365, isEmpty#366, sum#367, isEmpty#368, sum#369, isEmpty#370, sum#371, isEmpty#372, sum#373, isEmpty#374, sum#375, isEmpty#376, sum#377, isEmpty#378, sum#379, isEmpty#380, sum#381, isEmpty#382, sum#383, isEmpty#384, sum#385, isEmpty#386, sum#387, isEmpty#388, sum#389, isEmpty#390, sum#391, isEmpty#392, sum#393, isEmpty#394, sum#395, isEmpty#396, sum#397, isEmpty#398, sum#399, isEmpty#400, sum#401, isEmpty#402, sum#403, isEmpty#404, sum#405, isEmpty#406, sum#407, isEmpty#408, sum#409, isEmpty#410, sum#411, isEmpty#412, sum#413, isEmpty#414, sum#415, isEmpty#416, sum#417, isEmpty#418, sum#419, isEmpty#420]
Arguments: hashpartitioning(w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, ship_carriers#142, year#143, 5), ENSURE_REQUIREMENTS, [plan_id=2]

(34) HashAggregate [codegen id : 6]
Input [80]: [w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, ship_carriers#142, year#143, sum#349, isEmpty#350, sum#351, isEmpty#352, sum#353, isEmpty#354, sum#355, isEmpty#356, sum#357, isEmpty#358, sum#359, isEmpty#360, sum#361, isEmpty#362, sum#363, isEmpty#364, sum#365, isEmpty#366, sum#367, isEmpty#368, sum#369, isEmpty#370, sum#371, isEmpty#372, sum#373, isEmpty#374, sum#375, isEmpty#376, sum#377, isEmpty#378, sum#379, isEmpty#380, sum#381, isEmpty#382, sum#383, isEmpty#384, sum#385, isEmpty#386, sum#387, isEmpty#388, sum#389, isEmpty#390, sum#391, isEmpty#392, sum#393, isEmpty#394, sum#395, isEmpty#396, sum#397, isEmpty#398, sum#399, isEmpty#400, sum#401, isEmpty#402, sum#403, isEmpty#404, sum#405, isEmpty#406, sum#407, isEmpty#408, sum#409, isEmpty#410, sum#411, isEmpty#412, sum#413, isEmpty#414, sum#415, isEmpty#416, sum#417, isEmpty#418, sum#419, isEmpty#420]
Keys [8]: [w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, ship_carriers#142, year#143]
Functions [36]: [sum(jan_sales#144), sum(feb_sales#145), sum(mar_sales#146), sum(apr_sales#147), sum(may_sales#148), sum(jun_sales#149), sum(jul_sales#150), sum(aug_sales#151), sum(sep_sales#152), sum(oct_sales#153), sum(nov_sales#154), sum(dec_sales#155), sum((jan_sales#144 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), sum((feb_sales#145 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), sum((mar_sales#146 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), sum((apr_sales#147 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), sum((may_sales#148 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), sum((jun_sales#149 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), sum((jul_sales#150 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), sum((aug_sales#151 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), sum((sep_sales#152 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), sum((oct_sales#153 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), sum((nov_sales#154 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), sum((dec_sales#155 / cast(w_warehouse_sq_ft#10 as decimal(10,0)))), sum(jan_net#156), sum(feb_net#157), sum(mar_net#158), sum(apr_net#159), sum(may_net#160), sum(jun_net#161), sum(jul_net#162), sum(aug_net#163), sum(sep_net#164), sum(oct_net#165), sum(nov_net#166), sum(dec_net#167)]
Aggregate Attributes [36]: [sum(jan_sales#144)#421, sum(feb_sales#145)#422, sum(mar_sales#146)#423, sum(apr_sales#147)#424, sum(may_sales#148)#425, sum(jun_sales#149)#426, sum(jul_sales#150)#427, sum(aug_sales#151)#428, sum(sep_sales#152)#429, sum(oct_sales#153)#430, sum(nov_sales#154)#431, sum(dec_sales#155)#432, sum((jan_sales#144 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#433, sum((feb_sales#145 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#434, sum((mar_sales#146 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#435, sum((apr_sales#147 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#436, sum((may_sales#148 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#437, sum((jun_sales#149 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#438, sum((jul_sales#150 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#439, sum((aug_sales#151 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#440, sum((sep_sales#152 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#441, sum((oct_sales#153 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#442, sum((nov_sales#154 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#443, sum((dec_sales#155 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#444, sum(jan_net#156)#445, sum(feb_net#157)#446, sum(mar_net#158)#447, sum(apr_net#159)#448, sum(may_net#160)#449, sum(jun_net#161)#450, sum(jul_net#162)#451, sum(aug_net#163)#452, sum(sep_net#164)#453, sum(oct_net#165)#454, sum(nov_net#166)#455, sum(dec_net#167)#456]
Results [44]: [w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, ship_carriers#142, year#143, sum(jan_sales#144)#421 AS jan_sales#457, sum(feb_sales#145)#422 AS feb_sales#458, sum(mar_sales#146)#423 AS mar_sales#459, sum(apr_sales#147)#424 AS apr_sales#460, sum(may_sales#148)#425 AS may_sales#461, sum(jun_sales#149)#426 AS jun_sales#462, sum(jul_sales#150)#427 AS jul_sales#463, sum(aug_sales#151)#428 AS aug_sales#464, sum(sep_sales#152)#429 AS sep_sales#465, sum(oct_sales#153)#430 AS oct_sales#466, sum(nov_sales#154)#431 AS nov_sales#467, sum(dec_sales#155)#432 AS dec_sales#468, sum((jan_sales#144 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#433 AS jan_sales_per_sq_foot#469, sum((feb_sales#145 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#434 AS feb_sales_per_sq_foot#470, sum((mar_sales#146 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#435 AS mar_sales_per_sq_foot#471, sum((apr_sales#147 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#436 AS apr_sales_per_sq_foot#472, sum((may_sales#148 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#437 AS may_sales_per_sq_foot#473, sum((jun_sales#149 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#438 AS jun_sales_per_sq_foot#474, sum((jul_sales#150 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#439 AS jul_sales_per_sq_foot#475, sum((aug_sales#151 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#440 AS aug_sales_per_sq_foot#476, sum((sep_sales#152 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#441 AS sep_sales_per_sq_foot#477, sum((oct_sales#153 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#442 AS oct_sales_per_sq_foot#478, sum((nov_sales#154 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#443 AS nov_sales_per_sq_foot#479, sum((dec_sales#155 / cast(w_warehouse_sq_ft#10 as decimal(10,0))))#444 AS dec_sales_per_sq_foot#480, sum(jan_net#156)#445 AS jan_net#481, sum(feb_net#157)#446 AS feb_net#482, sum(mar_net#158)#447 AS mar_net#483, sum(apr_net#159)#448 AS apr_net#484, sum(may_net#160)#449 AS may_net#485, sum(jun_net#161)#450 AS jun_net#486, sum(jul_net#162)#451 AS jul_net#487, sum(aug_net#163)#452 AS aug_net#488, sum(sep_net#164)#453 AS sep_net#489, sum(oct_net#165)#454 AS oct_net#490, sum(nov_net#166)#455 AS nov_net#491, sum(dec_net#167)#456 AS dec_net#492]

(35) TakeOrderedAndProject
Input [44]: [w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, ship_carriers#142, year#143, jan_sales#457, feb_sales#458, mar_sales#459, apr_sales#460, may_sales#461, jun_sales#462, jul_sales#463, aug_sales#464, sep_sales#465, oct_sales#466, nov_sales#467, dec_sales#468, jan_sales_per_sq_foot#469, feb_sales_per_sq_foot#470, mar_sales_per_sq_foot#471, apr_sales_per_sq_foot#472, may_sales_per_sq_foot#473, jun_sales_per_sq_foot#474, jul_sales_per_sq_foot#475, aug_sales_per_sq_foot#476, sep_sales_per_sq_foot#477, oct_sales_per_sq_foot#478, nov_sales_per_sq_foot#479, dec_sales_per_sq_foot#480, jan_net#481, feb_net#482, mar_net#483, apr_net#484, may_net#485, jun_net#486, jul_net#487, aug_net#488, sep_net#489, oct_net#490, nov_net#491, dec_net#492]
Arguments: 100, [w_warehouse_name#9 ASC NULLS FIRST], [w_warehouse_name#9, w_warehouse_sq_ft#10, w_city#11, w_county#12, w_state#13, w_country#14, ship_carriers#142, year#143, jan_sales#457, feb_sales#458, mar_sales#459, apr_sales#460, may_sales#461, jun_sales#462, jul_sales#463, aug_sales#464, sep_sales#465, oct_sales#466, nov_sales#467, dec_sales#468, jan_sales_per_sq_foot#469, feb_sales_per_sq_foot#470, mar_sales_per_sq_foot#471, apr_sales_per_sq_foot#472, may_sales_per_sq_foot#473, jun_sales_per_sq_foot#474, jul_sales_per_sq_foot#475, aug_sales_per_sq_foot#476, sep_sales_per_sq_foot#477, oct_sales_per_sq_foot#478, nov_sales_per_sq_foot#479, dec_sales_per_sq_foot#480, jan_net#481, feb_net#482, mar_net#483, apr_net#484, may_net#485, jun_net#486, jul_net#487, aug_net#488, sep_net#489, oct_net#490, nov_net#491, dec_net#492]

