-- Serving mart: ICE certified Coffee C stock aging report, analytics-ready. -- -- Shows the age distribution of certified stocks across delivery ports. -- Age buckets represent how long coffee has been in certified storage. -- Older stock approaching certificate limits is a supply quality signal. -- -- Source: ICE Certified Stock Aging Report (monthly) -- Grain: one row per (report_date, age_bucket). MODEL ( name serving.ice_aging_stocks, kind INCREMENTAL_BY_TIME_RANGE ( time_column report_date ), grain (report_date, age_bucket), start '2020-01-01', cron '@daily' ); WITH base AS ( SELECT f.report_date, f.age_bucket, -- Parse age range from "0000 to 0120" format for correct sort order TRY_CAST(split_part(f.age_bucket, ' to ', 1) AS int) AS age_bucket_start_days, TRY_CAST(split_part(f.age_bucket, ' to ', 2) AS int) AS age_bucket_end_days, f.antwerp_bags, f.hamburg_bremen_bags, f.houston_bags, f.miami_bags, f.new_orleans_bags, f.new_york_bags, f.total_bags, f.source_file FROM foundation.fct_ice_aging_stocks f WHERE f.report_date BETWEEN @start_ds AND @end_ds ) SELECT b.report_date, d.commodity_name, d.ice_stock_report_code, b.age_bucket, b.age_bucket_start_days, b.age_bucket_end_days, b.antwerp_bags, b.hamburg_bremen_bags, b.houston_bags, b.miami_bags, b.new_orleans_bags, b.new_york_bags, b.total_bags, b.source_file FROM base b CROSS JOIN foundation.dim_commodity d WHERE d.ice_stock_report_code = 'COFFEE-C' ORDER BY b.report_date, b.age_bucket_start_days