8章分析用に複雑なデータセットを作成する
「3章 時系列解析」から「7章 実験分析」までの章では、SQLを使ってデータベース内のデータを分析する方法をいろいろと紹介しました。このような特定の用途に加え、クエリの目的が、専用的でありながらも、さらなるさまざまな分析にも使えるほど十分に汎用的でもあるデータセットを作成することである場合もあります。送り先は、データベースのテーブル、テキストファイル、BIツールなどになるでしょう。必要なSQLが単純で、少数のフィルタや集約しか必要ないこともあります。しかし、目的のデータセットを得るのに必要なコードやロジックは非常に複雑になることがよくあります。さらに、関係者が追加のデータポイントや計算を要求するため、このようなコードはおそらく時間と共に更新されるでしょう。SQLコードの整理、性能、保守性は1回限りの分析の場合とは異なり極めて重要になります。
本章では、コードの共有と更新を容易にするためのコード整理の原則を説明します。そして、クエリロジックをSQL内に保持すべき場合と、ETL(Extract-Transform-Load:抽出・変換・ロード)コードによる永続テーブルへの移行を検討すべき場合について説明します。次に、中間結果を保存する方法(サブクエリ、一時テーブル、共通テーブル式(CTE:Common Table Expression))と、それをコードで使うための注意事項を説明します。最後に、データセットのサイズを小さくするテクニックと、データプライバシーに配慮し、個人を特定できる情報(PII:Personally Identifiable Information)を削除するための考え方を取り上げます。
8.1 複雑なデータセットにSQLを使う場合 ...
Get SQLではじめるデータ分析 ―クエリで行う前処理、時系列解析、コホート分析、テキスト分析、異常検知 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.