CREATE MATERIALIZED VIEW insights.benchmark_twrr_by_distribution_mv AS
SELECT
b.benchmark_id,
b.fact_date,
ad.distribution_type,
ad.taxonomy_node_id,
ad.taxonomy_code,
SUM(b.daily_subperiod_return * ad.share) AS daily_subperiod_return
FROM insights.benchmark_twrr_by_asset_mv AS b
JOIN insights.asset_distributions_for_consumers_mv AS ad
ON ad.asset_id = b.asset_id
AND b.fact_date >= ad.effective_start_date
AND b.fact_date < ad.effective_end_date
GROUP BY
b.benchmark_id,
b.fact_date,
ad.distribution_type,
ad.taxonomy_node_id,
ad.taxonomy_code