データサイエンティストの阿部です。最近、職場でオッドタクシーが話題です。シルバーウィークに一気見したいと思います。
さて、明日から使いたくなるデータハンドリング術を紹介する "Sexy Tech for You" の第6話を配信しました。データ活用推進に際して、ビジネスユーザーがWHERE句の条件だけ変えて実行できるような定型的なクエリを作成・配布して、社内で運用するケースがあるかと思います。そんな時に、Googleスプレッドシートへの入力と、更新ボタン押下だけで、BigQueryのクエリ結果を得られるような方法を紹介しました。
動画中に記載したクエリや補足事項を本ブログに掲載しますので、少しでも皆様のお役に立てたら幸いです。
Youtube
1:30 でアウトプット例を示します。
BigQuery クエリ
BigQueryの一般公開データセットbigquery-public-data.wikipedia.pageviews_2021
での適用例
WITH TARGET_WORD AS ( SELECT * FROM UNNEST(SPLIT(@TARGET_WORD,",")) AS word ), AGGR AS ( SELECT title, SUM(views) AS pv FROM `bigquery-public-data.wikipedia.pageviews_2021` WHERE DATE(datehour) BETWEEN @START_DATE AND @END_DATE AND wiki IN ("ja","ja.m") GROUP BY 1 ) SELECT AGGR.* FROM AGGR,TARGET_WORD WHERE REGEXP_CONTAINS(title, word) = TRUE ORDER BY 2 DESC
補足
上のクエリでは、@TARGET_WORD
,@START_DATE
,@END_DATE
の3箇所で、セルの入力値をパラメータとして参照する想定です。
@TARGET_WORD
は、カンマ区切りで1つのセルに複数の値を入力しても対応できるようにしています。区切り文字は、UNNEST(SPLIT(@TARGET_WORD,",")) AS word
中の","
の部分で、任意の値を指定することができます。
スプレッドシートからデータコネクト経由でBigQueryを実行するためには、BigQueryの参照権限が必要です。専用のGoogleグループを作成すると、ユーザー管理しやすいと思います。
以上、Moblie Tech for All のヤプリがお送りする Sexy Tech for You でした!次回またお会いしましょう。