TakeOrderedAndProject [channel,col_name,d_year,d_qoy,i_category,sales_cnt,sales_amt]
  WholeStageCodegen (2)
    HashAggregate [channel,col_name,d_year,d_qoy,i_category,count,sum] [count(1),sum(UnscaledValue(ext_sales_price)),sales_cnt,sales_amt,count,sum]
      InputAdapter
        Exchange [channel,col_name,d_year,d_qoy,i_category] #1
          WholeStageCodegen (1)
            HashAggregate [channel,col_name,d_year,d_qoy,i_category,ext_sales_price] [count,sum,count,sum]
              ColumnarToRow
                InputAdapter
                  CometUnion [channel,col_name,d_year,d_qoy,i_category,ext_sales_price]
                    CometProject [ss_store_sk,ss_ext_sales_price] [channel,col_name,d_year,d_qoy,i_category,ext_sales_price]
                      CometBroadcastHashJoin [ss_store_sk,ss_ext_sales_price,ss_sold_date_sk,i_category,d_date_sk,d_year,d_qoy]
                        CometProject [ss_store_sk,ss_ext_sales_price,ss_sold_date_sk,i_category]
                          CometBroadcastHashJoin [ss_item_sk,ss_store_sk,ss_ext_sales_price,ss_sold_date_sk,i_item_sk,i_category]
                            CometFilter [ss_item_sk,ss_store_sk,ss_ext_sales_price,ss_sold_date_sk]
                              CometNativeScan: `spark_catalog`.`default`.`store_sales` [ss_item_sk,ss_store_sk,ss_ext_sales_price,ss_sold_date_sk]
                            CometBroadcastExchange [i_item_sk,i_category] #2
                              CometFilter [i_item_sk,i_category]
                                CometNativeScan: `spark_catalog`.`default`.`item` [i_item_sk,i_category]
                        CometBroadcastExchange [d_date_sk,d_year,d_qoy] #3
                          CometFilter [d_date_sk,d_year,d_qoy]
                            CometNativeScan: `spark_catalog`.`default`.`date_dim` [d_date_sk,d_year,d_qoy]
                    CometProject [ws_ship_customer_sk,ws_ext_sales_price] [channel,col_name,d_year,d_qoy,i_category,ext_sales_price]
                      CometBroadcastHashJoin [ws_ship_customer_sk,ws_ext_sales_price,ws_sold_date_sk,i_category,d_date_sk,d_year,d_qoy]
                        CometProject [ws_ship_customer_sk,ws_ext_sales_price,ws_sold_date_sk,i_category]
                          CometBroadcastHashJoin [ws_item_sk,ws_ship_customer_sk,ws_ext_sales_price,ws_sold_date_sk,i_item_sk,i_category]
                            CometFilter [ws_item_sk,ws_ship_customer_sk,ws_ext_sales_price,ws_sold_date_sk]
                              CometNativeScan: `spark_catalog`.`default`.`web_sales` [ws_item_sk,ws_ship_customer_sk,ws_ext_sales_price,ws_sold_date_sk]
                            ReusedExchange [i_item_sk,i_category] #2
                        ReusedExchange [d_date_sk,d_year,d_qoy] #3
                    CometProject [cs_ship_addr_sk,cs_ext_sales_price] [channel,col_name,d_year,d_qoy,i_category,ext_sales_price]
                      CometBroadcastHashJoin [cs_ship_addr_sk,cs_ext_sales_price,cs_sold_date_sk,i_category,d_date_sk,d_year,d_qoy]
                        CometProject [cs_ship_addr_sk,cs_ext_sales_price,cs_sold_date_sk,i_category]
                          CometBroadcastHashJoin [cs_ship_addr_sk,cs_item_sk,cs_ext_sales_price,cs_sold_date_sk,i_item_sk,i_category]
                            CometFilter [cs_ship_addr_sk,cs_item_sk,cs_ext_sales_price,cs_sold_date_sk]
                              CometNativeScan: `spark_catalog`.`default`.`catalog_sales` [cs_ship_addr_sk,cs_item_sk,cs_ext_sales_price,cs_sold_date_sk]
                            ReusedExchange [i_item_sk,i_category] #2
                        ReusedExchange [d_date_sk,d_year,d_qoy] #3
