BigQueryレシピ

BigQuery | _TABLE_SUFFIX の使い方

使い方

日付別に分割されたテーブルをまとめて参照したい時につかいます。

例えばevents_20210801events_20210802events_20210803..のようなテーブルからデータ取得するなら以下のようになります。

SELECT
   *
FROM
  `project_id.dataset.table_name_*`
WHERE
  _TABLE_SUFFIX  BETWEEN '20210801' AND  '20210807'

直近1週間分を週次レポートする場合は以下のようになります。

SELECT
   *
FROM
  `project_id.dataset.table_name_*`
WHERE
  _TABLE_SUFFIX BETWEEN
    FORMAT_DATE('%Y%m%d', DATE_SUB(CURRENT_DATE('Asia/Tokyo'), INTERVAL 1 WEEK)) AND
    FORMAT_DATE('%Y%m%d', CURRENT_DATE('Asia/Tokyo'))

解説

  • テーブル名の日付部分をワイルドカードにする
  • ワイルドーカードの部分を _TABLE_SUFFIX の条件で範囲指定
  • 日付別にシャーディングされたテーブルによく使う

関連リンク

より実務的なクエリを身につけるにはビッグデータ分析・活用のためのSQLレシピがおすすめです。

ビッグデータ分析
created by Rinker
¥4,180
(2022/09/26 16:59:15時点 Amazon調べ-詳細)

created by Rinker
技術評論社
¥2,398
(2022/09/26 18:09:01時点 Amazon調べ-詳細)