【BigQuery】string_aggの使い方

BigQueryには、データ加工のために便利な関数がたくさん用意されています。

今回は、複数行にまたがる文字列の加工に便利なSTRING_AGGという関数を紹介します。

STRING_AGGにできること

以下のように、ユーザーが購入した果物が格納されたテーブルがあります。

ユーザー 果物
A りんご
A バナナ
A いちご
B バナナ
B さくらん

このテーブルから、購入した果物をユーザー単位でまとめて、以下のように集計したいときにSTRING_AGGを使います。

ユーザー 果物
A りんご,バナナ,いちご
B バナナ,さんくらんぼ

STRING_AGGの書き方

ユーザー単位に購入した果物をまとめるには、以下のように書きます。

SELECT
    ユーザー,
    STRING_AGG(果物)
FROM
    table
GROUP BY
   ユーザー

参考書籍

このようにデータを加工するためには、様々なテクニックがあります。
STRING_AGGのように、便利な関数を知っているとSQLだけで、いろんなことが可能になります。

そんなときは、以下の書籍で前処理の方法と関数を知っておくと良いでしょう!