diff --git a/pipeline/transform/models/intermediate/int_ks4_with_lineage.sql b/pipeline/transform/models/intermediate/int_ks4_with_lineage.sql index 124992f..533052a 100644 --- a/pipeline/transform/models/intermediate/int_ks4_with_lineage.sql +++ b/pipeline/transform/models/intermediate/int_ks4_with_lineage.sql @@ -16,7 +16,8 @@ with current_ks4 as ( ), predecessor_ks4 as ( - select + -- If multiple predecessors have data for the same year, keep the one with most pupils. + select distinct on (lin.current_urn, ks4.year) lin.current_urn, ks4.urn as source_urn, ks4.year, ks4.total_pupils, ks4.eligible_pupils, ks4.prior_attainment_avg, @@ -35,6 +36,7 @@ predecessor_ks4 as ( where curr.urn = lin.current_urn and curr.year = ks4.year ) + order by lin.current_urn, ks4.year, ks4.total_pupils desc nulls last ), combined as (