-- the CUBE extension will generate subtotals for all combinations of the
-- dimensions specified. If "n" is the number of columns listed in the CUBE,
-- there will be 2^n subtotal combinations.
SELECT fact_1_id,
fact_2_id,
fact_3_id,
SUM(sales_value) AS sales_value
FROM dimension_tab
GROUP BY CUBE (fact_1_id, fact_2_id, fact_3_id)
ORDER BY fact_1_id, fact_2_id, fact_3_id;