![見出し画像](https://assets.st-note.com/production/uploads/images/115650729/rectangle_large_type_2_b943369ef5edfb47dab0980833da2753.png?width=1200)
Photo by
voice_watanabe
Bigquery unnest関数について
GA4とBigquery
GA4からBigqueryにデータを持ってきて処理する時に、うまくもってこれないカラムがあり、困ったので整理がてらまとめます。
page_locationはどこへ。。。
Bigquery上でpage_locationを使って分析を行おうと思ったら、そんなカラムはないとエラーをはかれました。しかし、GA4にはしっかりいる。なぜ?
![](https://assets.st-note.com/img/1694160874598-GhyLccRjwO.png)
原因は、Bigqueryのテーブルの状態だった
page_locationはevent_paramsのkeyにあったので、うまくカラムにもってこれていませんでした。憎たらしいですね。
![](https://assets.st-note.com/img/1694161185937-tZNlEWiXgn.png?width=1200)
unnestを使う
じゃあどうしたらいいんだと。そこでunnestです。カラムをフラット化して、1行にもってきてくれます。今回は、日付とイベント名ももってきました。
SELECT
event_date
,event_name
,(SELECT param.value.string_value FROM UNNEST (event_params) AS param WHERE key = 'page_location') AS page_location
FROM
table1
まとめ
初心者の私には、正直なんでこんなめんどくさい形にする必要があったんだろう?と思いました。ただ、勉強になったしこれで分析に取り掛かれます!よかったです。