ABCABC Tech Catalog

データ

データ基盤・分析・可視化に関する取り組み

データ関連

dbt Projects on Snowflake x Terraform でデータ基盤を刷新

dbt Projects on Snowflake と Terraform を組み合わせてデータ基盤を刷新しました。視聴データというデータの特徴を踏まえた設計のポイントと刷新にあたっての苦労話を紹介します。

山野悠
データ関連

BigQueryで週次集計の「年またぎ」問題を解決!ISOWEEKの使い方

この記事では、BigQueryでの週次集計におけるISOWEEKの活用法を解説しています。年末年始の集計での分断を防ぎ、ISO8601に基づいた週番号を使用することで、過去のデータ比較やチーム内の共通認識を向上させる方法が紹介されています。

中村卓矢
Tips

WINDOW句で重複するクエリを共通化してSQLをスマートに!

この記事では、SQLのWINDOW関数を使って、クエリ内での重複したOVER句を共通化し、可読性と保守性を向上させる方法を解説しています。具体的なクエリの例を通じて、効率的なデータ分析を実現するテクニックが紹介されています。

中村卓矢
データ関連

dbt project on Snowflake 運用に向けて開発環境を整える

Snowflake上でのdbtプロジェクトの運用に向けた開発環境の整備に関する具体的な手順や設定方法について記載します。ローカル環境の構築、dbtプロジェクトの操作方法、CI/CDパイプラインの設定、これらに関する注意点にも触れます。

山野悠
データ関連

NULLも含めて正しく判定!「IS DISTINCT FROM」活用術

この記事では、SQLにおけるNULLの扱いに関する問題点と、IS DISTINCT FROMの活用法を紹介しています。この演算子はNULLを含む比較において、直感的な挙動を実現し、クエリの可読性と安全性を向上させる方法を解説しています。

中村卓矢
データ関連

Snowflake × GitHub Actions の OIDC 認証でハマった話

Snowflake と GitHub Actions とのOIDC 認証の実装中に遭遇したエラーについての記事です。 Snowflake CLI v3.11以降、OIDC の aud が固定化されていたことが原因でした。

山野悠
Tips

Airflowでdatetime.now()はNG?コンテキストから正しい実行時刻を取得する方法

この記事では、Airflowでの実行時刻取得のアンチパターンとその解決策について解説しています。特に、datetime.now()の誤用事例や、Airflowのコンテキストから正しく時刻を取得する方法について詳しく説明しています。

中村卓矢
データ関連

Dataform × BigQuery のトランザクションでアトミックなテーブル更新を実現

この記事では、BigQueryのトランザクション機能を活用し、Dataformと組み合わせることで、データ更新時の欠損を防ぎ、アトミックなテーブル更新を実現する方法について詳しく解説しています。

中村卓矢
データ関連

BigQuery での ML.GENERATE_TEXT から AI.GENERATE への移行検証

この記事では、BigQueryのML.GENERATE_TEXT関数から新しいAI.GENERATE関数への移行検証として、各関数の使い方について説明しています。新しくレスポンスの構造化、出力スキーマの指定などにも対応しており、従来より便利に使える関数となっています。

伴拓也
Tips

BigQuery と Looker のソート順の違いから知る JavaScript の 日本語環境でのソートの罠

この記事では、LookerとBigQueryにおけるソート順の違いを通じて、日本語環境でのJavaScriptの localCompare メソッドの挙動を解説しています。特に、日本語の漢字が音読みベースで並び替えられるため、予期しない順序になることがあることについて触れています。

伴拓也
データ関連

Lookerのカスタムフィルタで抽出期間を動的に変更する方法

Lookerのカスタムフィルタで「月初は先月」「月曜は金曜」など動的な期間指定を自動化!now()関数を使った具体的なLooker式の書き方から、タイムゾーンの注意点までを解説。面倒な手動フィルタ調整から解放され、分析業務を効率化します。

石田直之
データ関連

SQL での ARRAY 加工時 ARRAY_AGG だけでは並び順は保証されない

BigQuery を初めとする環境で SQL によって配列を加工するとき、 ARRAY_AGG という関数で配列に加工をすることがありますが、そのとき「並び順は保証されていない」ということになっています。本記事ではそのような仕様にどのように対応すべきかについてまとめています。

伴拓也