GA4のデータをBigQuery&SQLで分析するときのポイント3選! データ構造とよく使うクエリを知ろう
このように、GA4のデータは1行のなかに複数行入っているというネスト(入れ子)形式でデータが構成されているため、SQLでGA4のイベントパラメータのデータを扱う際にはネスト(入れ子)を解除する作業が必要になってきます。
unnest関数の使い方
unnest関数を使用することで、1行に複数行が入っている構造を解消し、SQLクエリで扱えるようにします。
unnest関数によって、以下のようにネスト(入れ子)構造が解消されて、イベントパラメータも1行ずつで構成されるようになります。
実際にGA4のデータをクエリで抽出する場合は、取り出したいイベントパラメータの値にあわせて、SELECT文内で「unnest関数」を使用することもあります。
また、イベントパラメータの種類はkeyで区別し、それぞれのkeyに対して「STRING型(文字列型)」「INTEGER型(数字型)」などさまざまなデータ型ごとに列をわけて値が入っています。
例) 「page_location」というkey(パラメータ)に対して、「STRING型(文字列型)」の列にページURLの値が入っています。 例) 「ga_session_id」というkey(パラメータ)に対して、「INTEGER型(数字型)」の列にidの値が入っています。
どのデータ型のイベントパラメータを取り出してくるかは、下記の部分を書き換えて指定します。
□ データの特徴(2):GA4のデータはevent_dateの日付ごとにテーブルが作成されている
GA4からエクスポートされたアクセスログのデータは、BigQuery上でevent_dateの日付ごとに分けてテーブルが作成されます。複数の日付にわたるデータを対象として扱いたい場合は、複数のテーブルを指定してSQLクエリを実行する必要があります。
ワイルドカードテーブルと_TABLE_SUFFIXの使い方
FROM句で指定するテーブルに「*」を使用してワイルドカード形式(特定の日を指定しない形式)に変更し、WHERE句で_TABLE_SUFFIXを使用して、対象にするテーブルの最初と最後の日付を指定して複数のテーブルを対象とします。