Ниже для BigQuery Standard SQL
#standardSQL
SELECT * EXCEPT(c) REPLACE(c AS country)
FROM `project.dataset.table`,
UNNEST(SPLIT(country)) c
Если применить к образцу данных из вашего вопроса, как в примере ниже
#standardSQL
WITH `project.dataset.table` AS (
SELECT 'asia' region, 'india,china,japan' country, 100 revenue, 0.3 weight UNION ALL
SELECT 'europe', 'uk,france,germany,italy', 75, 0.25
)
SELECT * EXCEPT(c) REPLACE(c AS country)
FROM `project.dataset.table`,
UNNEST(SPLIT(country)) c
, результат будет
Row region country revenue weight
1 asia india 100 0.3
2 asia china 100 0.3
3 asia japan 100 0.3
4 europe uk 75 0.25
5 europe france 75 0.25
6 europe germany 75 0.25
7 europe italy 75 0.25