Невозможно, что вы хотите, однако, есть лучшая практика для BigQuery. Вы можете использовать массивы структур для хранения этой информации в таблице.
Допустим, у вас есть такая таблица
Вы можете использовать этот пример запроса для понять, как его использовать.
with rawdata AS
(
SELECT 1 as id, 'test1-val1,test2-val2,test3-val3' as experiments union all
SELECT 1 as id, 'test1-val1,test3-val3,test5-val5' as experiments
)
select
id,
(select array_agg(struct(split(param, '-')[offset(0)] as experiment, split(param, '-')[offset(1)] as value)) from unnest(split(experiments)) as param ) as experiments
from rawdata
Вывод будет выглядеть так:
После такого вывода удобнее манипулировать данными