Looker Studio で partitioned tables を連携するときの注意点
Looker Studio で BigQuery の partitioned tables を連携してダッシュボードを作成する機会は多くあると思いますが、
そのまま連携してしまうとものすごい料金がかかってしまう可能性があるので注意が必要です。
Looker Studio にかかる料金
まず前提として、Looker Studio 自体に料金はかからず使用することができます。
Looker Studio を BigQuery と連携する際は、BigQuery 側でのクエリの処理分の費用がかかります。
クエリでスキャンされたデータ量に対して課金が発生する仕組みのため、連携するデータ量が多いほど課金が発生することになります。
問題点
partitioned tables を連携しても、パーティションを無視して毎回フルスキャンしてしまう問題があります。
前述したようにスキャンするデータ量で課金が発生するため、毎回フルスキャンされるのは避けたいことです。
解決方法
この問題の解決方法はカスタムクエリを使用することです。
カスタムクエリでは、ダッシュボード期間の開始日と終了日をパラメータとして扱うことができます。
ここでの開始日・終了日とは、ダッシュボード上で設定するデータ期間のものになります。
つまりダッシュボード上に表示したい期間のデータのみデータが連携されるため、料金を抑えることができます。
同時に気をつけたいこと
ダッシュボード上で使用しないデータは連携しないように気をつけましょう。
カスタムクエリでフルスキャンは抑えられるにしても課金は少ない方が良いので、不必要なデータ(カラム)はカスタムクエリもしくはテーブル作成時点で削っておきましょう。
カスタムクエリの設定方法
- データのレポートへの追加ページで「BigQuery」を選択します。

- カスタムクエリを選択します
- 連携したいデータが存在するプロジェクトを選択します
- カスタムクエリを入力します
@DS_START_DATE
: 期間の開始時刻
@DS_END_DATE
: 期間の終了時刻
SELECT
*
FROM
`<テーブル名>`
WHERE
DATE(<パーティション列>) BETWEEN PARSE_DATE('%Y%m%d', @DS_START_DATE)
AND PARSE_DATE('%Y%m%d', @DS_END_DATE)
- 「期間パラメータを有効にする」にチェックを入れます

ダッシュボード上で期間設定フィルタを設置したら完了です。
参考

備考
Hakky では社内のデータ活用やサービスとしてデータ提供を行うためのソリューションを展開しております。
「BI ツールでの Dashboard 可視化に困っている」など具体的な相談はもちろんのこと、「どんなことをお願いできるのか知りたい」や「こんなことをやりたい」など、ご検討段階でも構いませんので、ぜひお気軽にフォームよりお問い合わせくださいませ。