日々の業績データのデータマート作成をいかにシンプルな構成で実現できるか思案していたところ、BigQueryの外部テーブル機能が便利だったのでそのお話です。
目次
外部テーブル機能
↓外部テーブル作成設定画面
BigQueryの外部テーブル機能を使う一番のメリットとして、データ取り込みの開発を省略して、BigQuery上でスプレッドシートのデータをテーブルとして扱える点でしょう。
実際にデータ分析業務で、RPAで業務システムから業績データのCSVファイルを自動でDL→スプレッドシートに出力→BigQueryのスケジューリングクエリ機能で、スプレッドシートに出力したデータをデータマートにInsertすることで日々のデータマートへのデータ蓄積を行っています。
※業績データをZIP形式やCSV形式でDLして、スプレッドシートに出力できない場合
GoogleAppScript(GAS)のスクリプトでスプレッドシートに出力しましょう。 ↓zipファイルを解凍してスプレッドシートに出力するGASのコードです。
zipではなくCSVファイルをスプレッドシートに出力したいだけであれば、
//解凍したいCSVファイルをパース 以降のコードを参照ください。
外部テーブル機能はスプレッドシート上の参照するシート、列を選択できるので、スプレッドシートの関数で整形できるのも大変便利です。実際に、
・QUERY関数
・FILTER関数
・ARRAYFORMULA関数
この3つの関数は、特定の列だけ抽出したり、あらかじめBigQueryに連携するデータをフィルタリングする目的で使っています。
いかがでしょうか、まとめるとBigQueryの外部テーブル機能、スケジューリングクエリとGoogleスプレッドシートだけで、ほぼノーコード、ノーアプリケーションでデータマートの作成が可能だったので、感動的でした。笑

