BigQueryでArrayの各要素をそれぞれ別の行にしたいとき
タイトルが難しい。 よく忘れるのでメモ。
要するに
これを
こうしたい
UNNEST
を使ってクロスジョインみたいにすればできる。
WITH dataset AS ( SELECT 1 AS id, ARRAY['foo', 'bar'] AS arr UNION ALL SELECT 2, ARRAY['foo', 'bar', 'baz']) SELECT id, item FROM dataset, UNNEST(arr) AS item
参考:
https://cloud.google.com/bigquery/docs/reference/standard-sql/arrays?hl=ja#querying-nested-arrays