Вы хотите отключить и отфильтровать. Вот BigQuery'i sh способ сделать это:
with t as (
select 123 as product_id, 456 as order_id, 'A' as product_type, null as day1_sale, 0.2 as day2_sale, 0.3 as day3_sale, null as day4_sale UNION ALL
select 123, 456, 'B', null, null, 0.4, null UNION ALL
select 111, 222, 'A', null, null, null, null UNION ALL
select 333, 444, 'B', 0.7, 0.1, 0.2, 0.6
)
select t.product_id, t.order_id, t.product_type, ds.*
from t cross join
unnest(array[struct('1' as day, day1_sale as day_sale),
('2', day2_sale),
('3', day3_sale),
('4', day4_sale)
]
) ds
where day_sale is not null;