local exchange (GATHER, SINGLE, [])
    remote exchange (GATHER, SINGLE, [])
        final aggregation over (d_year, i_category, i_category_id)
            local exchange (GATHER, SINGLE, [])
                remote exchange (REPARTITION, HASH, ["d_year", "i_category", "i_category_id"])
                    partial aggregation over (d_year, i_category, i_category_id)
                        join (INNER, REPLICATED):
                            join (INNER, REPLICATED):
                                scan store_sales
                                local exchange (GATHER, SINGLE, [])
                                    remote exchange (REPLICATE, BROADCAST, [])
                                        scan item
                            local exchange (GATHER, SINGLE, [])
                                remote exchange (REPLICATE, BROADCAST, [])
                                    scan date_dim
