前提・実現したいこと
BigQueryで定義した変数名をもとにカラム名を指定することで、
SQLを別期間で自動で集計されるようにしたいと考えています。
下記のようなイメージのSQLを書いています。
SELECT sales.goods1 AS goods1_period_A -- カラム名にAをいれてAの期間のものという形でわかるようにしたい sales.goods2 AS goods2_period_A -- カラム名にAをいれてAの期間のものという形でわかるようにしたい sales.goods3 AS goods3_period_A -- カラム名にAをいれてAの期間のものという形でわかるようにしたい FROM sales WHERE _TABLE_SUFFIX BETWEEN '202001*' AND '202002*'
例えば上記のようなSQLについて、以下のようなことをイメージしています。
- '202001*' AND '202002*'の部分を最初に変数として定義し、集計時に使いたい
- 上記の期間をキーとして持たせ、変数としたい。
具体的には、
- A = '202001*' AND '202002*'のような形で最初に定義
- 右辺('202001*' AND '202002*')は、_TABLE_SUFFIX BETWEENの期間範囲で使用
- 左辺(A)はsales.goods1_period_{A(指定した変数名)}のような形でカラム名で使用
動機としては、
他の期間を集計する際に、例えばBの場合は、B = '202003*' AND '202004*'のような形で指定するだけで
SQL文を使いまわせると考えているからです。
考えたこと
pythonであれば辞書型を使うことで実現できるようなことかと思うのですが、
BigQuery上では調べてみたもののそもそもこのようなことができるかよくわからないような状況です。
お知恵を拝借できましたら幸いです。
何卒宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/07 07:48
2021/07/07 12:22 編集