CREATE MATERIALIZED VIEW insights.asset_distributions_week_binned_mv AS
SELECT
ad.asset_id,
ad.distribution_type,
ad.effective_start_date,
ad.effective_end_date,
ad.taxonomy_node_id,
ad.taxonomy_code,
ad.share,
spine.dim_value_week
FROM insights.asset_distributions_for_consumers_mv AS ad
JOIN (
SELECT DISTINCT
asset_id,
CAST(DATE_TRUNC('WEEK', dim_value_date) AS DATE) AS dim_value_week
FROM insights.position_asset_values_mv AS position_asset_values_mv_next
) AS spine
ON spine.asset_id = ad.asset_id
AND spine.dim_value_week >= CAST(DATE_TRUNC('WEEK', ad.effective_start_date) AS DATE)
AND spine.dim_value_week <= ad.effective_end_date