BIgQuery

【エラー対応忘備録】No matching signature for operator <= for argument types: DATE, STRING. Supported signature: ANY <= ANY

No matching signature for operator dateとで、 stringとで、日付の型が異なるせいで出るエラーです。 エラーコードでも、「Supported signature: ANY なので、where date(xxxx)

BigQuery 前月末までの日付のデータを取得する方法。

【前月末までの日付で取得する】 抽出時点5月11日 --sample data with test as ( SELECT d FROM UNNEST(GENERATE_DATE_ARRAY('2022-01-01','2022-05-31', INTERVAL 1 DAY)) AS d) --前月末までのデータを出力 SELECT * FROM test where d <= date(FORMAT_DAT…

BigQueryでINFORMATION_SCHEMAを使ってメタデータを確認。

BQで利用状況を確認する際、INFORMATION_SCHEMAを使うのが便利です。 これはBQのメタデータへアクセスできるビューです。過去180日間に遡って、アクセスできます。テーブルの統計量調査する時に使えそうですね。 cloud.google.com https://cloud.google.c…

【BiqQuery】テーブル改修後のテスト手法。二つのテーブルの差分を出す

テーブルを改修した際は、必ず改修前のテーブルと比較し、 予定通りのものになっているか求めると思います。もっともお手軽で簡単なのがexceptを使ったテスト方法です。今回は`exceptを使うことで差分を取ります。 これは、AとBというテーブルがあった場合…

Bigquery での日次関数まとめ。

SQL書く際に、検索する手間を省くために、まとめています。 CURRENT_DATE. 現在の日次・タイムスタンプを取得。 EXTRACT. 年,月,日,を分けて抽出。 DATE. 日付を取得 DATE_ADD 日付を加算。 DATE_SUB. 日付を減算。 DATE_TRUNC 日付を切り詰める DATE_DIFF(…

【SQL】SELECTでいらないカラムはexcept()で除外できる。そう、BigQueryならね。

BigQueryでは、クエリしたくないカラムをexcept()で指定すると、 *(XXX)で、早くクエリが書けます。ふつうSQLは、一部のカラムを除外して、抽出というのができない。 クエリするものは明示すべきなので、クエリとしては正しいけど、実務的には、分析する際、…