Grain audit: source key is Product ID + Region; target key is Product ID + Region + Quarter. Owner and Notes are descriptive attributes repeated by design. Annual Total is derived metadata and excluded from unpivot. Expected target is exactly 480 rows, including null targets.
Power Query steps: load QuarterlyTargets with Data > From Table/Range. Set Product ID, Region, Owner, Notes to text; Q1–Q4 Target to nullable whole number. Select Product ID, Region, Owner, Annual Total, Notes, then choose Unpivot Other Columns only after confirming the “other” set is exactly the four quarter columns; a safer refresh-resistant approach is explicitly select Q1 Target through Q4 Target and choose Unpivot Columns. Rename Attribute to Quarter Source and Value to Target. Map the four allowed header values to Q1–Q4; if any other value appears, return an error rather than trimming arbitrary text. Remove Annual Total after retaining it only for reconciliation, then order target columns. Do not filter null Target rows.
Validation: group by Product ID, Region, Quarter and stop if any count differs from 1. Group by source key and require four rows. Require row count 480, allowed Quarter set Q1–Q4, and whole-number-or-null Target. Recalculate non-null quarterly sum and compare with source Annual Total while treating null as missing, not automatically zero; for P-01 the long rows are Q1=100, Q2=null, Q3=0, Q4=140, with Owner Ana and Notes repeated. Reverse by pivoting Quarter using Target only after uniqueness passes and “Don't Aggregate” is available; recalculate Annual Total under an approved null rule.