Answer
Check whether the view referenced inside the correlated subquery is actually scoped/correlated per outer row, or whether it's a single-record temporary/staging view populated by a specific screen (which would only ever contain one part's data regardless of how the subquery's WHERE clause is written) — using such a view inside what's meant to be a per-row correlated subquery collapses the result down to that one record for the whole report. Switching the subquery to reference the equivalent general, fully-correlated source view (with data spanning every part, not just one screen's current context) rather than a screen-specific temp view resolves this.