試験公開中

このエントリーをはてなブックマークに追加

データ分析に強くなるSQLレシピ 小規模データの前処理・分析の書き方&テクニック

インプレス

2,970円 (2,700円+税)

本書では、中小企業でよくある、数百件から数万件程度の小規模なデータを想定し、それらデータの前処理や分析を行なうSQLの書き方やテクニックをレシピとしてまとめています。データの前処理を中心に、基本的なSQL操作から応用的な技術まで、実用的なサンプルコードとともに徹底解説しています。

関連サイト

本書の関連ページが用意されています。

内容紹介

●小規模データの分析で使えるSQLの書き方がわかる!――基礎から応用テクニックまでを標準SQLサンプルコードとともに徹底解説!

多くの中小企業では、ビジネスで分析に使うデータとして、数百万件から数億件といった大規模なデータを用意できることはあまり多くありません。ビッグデータのように多種類のデータがあるのではなく、数百件から数万件程度の小規模なデータを扱うことになります。本書では、このような小規模データの前処理や分析を行なうSQLの書き方やテクニックをレシピとしてまとめています。

主にデータの前処理にあたる部分について、実用的なサンプルコードとともに解説します。たとえば、合計、平均、最小値、最大値の求め方、小数処理、グループ集計、重複除外、日付・文字列処理、条件分岐といった基本的なSQLから、複数のテーブルに分割・結合、検索結果からのさらなる絞り込み(サブクエリ、相関サブクエリ等)、統計データの作成(外れ値・欠損値処理、データの代表値・分布の調査等)、売上データRFM分析や購買履歴データアソシエーション分析等といった応用的なSQLまで、小規模データの前処理や分析の実践的な手法やノウハウを解説しています。

書誌情報

  • 著者: 増井 敏克
  • 発行日: (紙書籍版発行日: 2024-08-05)
  • 最終更新日: 2024-08-05
  • バージョン: 1.0.0
  • ページ数: 312ページ(PDF版換算)
  • 対応フォーマット: PDF, EPUB
  • 出版社: インプレス

対象読者

○数万件程度までの小規模データを使ってSQLでデータ分析をしたい人 ○SQLによる小規模データの前処理や分析の基本やテクニックを学びたい人 ○エンジニア、データサイエンティスト、マーケター、ビジネスパーソン(日常業務でちょっとしたデータ分析をする人)など

著者について

増井 敏克

増井技術士事務所代表、技術士(情報工学部門)
1979年奈良県生まれ。大阪府立大学大学院修了。テクニカルエンジニア(ネットワーク、情報セキュリティ)、その他情報処理技術者試験にも多数合格。また、ビジネス数学検定1級に合格し、公益財団法人日本数学検定協会認定トレーナーとしても活動。「ビジネス」×「数学」×「IT」を組み合わせ、コンピュータを「正しく」「効率よく」使うためのスキルアップ支援や、各種ソフトウェアの開発を行なっている。
著作実績として、『実務で使える メール技術の教科書』(翔泳社)、『Obsidianで“育てる”最強ノート術』(技術評論社)、『1週間でシステム開発の基礎が学べる本』(インプレス)など、多数がある。

目次

はじめに

本書の表記法

第1章 SQLの基本

  • 1-1 データベースとは
  • 1-1-1 ファイルの特徴を知る
  • 1-1-2 データベースに求められるものを知る
  • 1-1-3 データ分析にも使えるデータベース
  • 1-2 データベースの種類
  • 1-2-1 関係データベース
  • 1-2-2 NoSQLデータベース
  • 1-3 データベース
  • 1-3-1 関係データベースにおけるテーブル
  • 1-3-2 データベースを操作する
  • 1-4 テーブルの作成
  • 1-4-1 テーブルの名前を決める
  • 1-4-2 データ型を決める
  • 1-4-3 NULLの役割
  • 1-4-4 外部キーを設定する
  • 1-4-5 連番を自動的に付与する
  • 1-4-6 テーブルの構造を変更する
  • 1-5 データの登録と取得
  • 1-5-1 レコードを登録する
  • 1-5-2 レコードを取得する
  • 1-6 データの更新と削除
  • 1-6-1 レコードを更新する
  • 1-6-2 不要なレコードを削除する
  • 1-6-3 更新を確定させる
  • 練習問題

第2章 基本的な関数を知る

  • 2-1 関数と演算子
  • 2-1-1 関数とは
  • 2-1-2 足し算する
  • 2-1-3 引き算する
  • 2-1-4 掛け算する
  • 2-1-5 割り算する
  • 2-1-6 累乗を計算する
  • 2-2 集約関数を知る
  • 2-2-1 合計を求める
  • 2-2-2 レコード数を求める
  • 2-2-3 平均を求める
  • 2-2-4 最小値と最大値を求める
  • 2-2-5 グループごとに集計する
  • 2-3 小数を処理する
  • 2-3-1 扱える桁数を意識する
  • 2-3-2 浮動小数点数を扱う
  • 2-3-3 固定小数点数を扱う
  • 2-3-4 四捨五入や切り捨て、切り上げを計算する
  • 2-4 日付を処理する
  • 2-4-1 日付のデータ型を考える
  • 2-4-2 日付に対して足し算と引き算をする
  • 2-4-3 日付で比較する
  • 2-4-4 日付を整形する
  • 2-5 文字列を処理する
  • 2-5-1 文字列を結合する
  • 2-5-2 文字の位置を探す
  • 2-5-3 文字列の一部を取得する
  • 2-5-4 大文字と小文字を変換する
  • 2-5-5 文字を置換する
  • 2-6 重複を除外する
  • 2-6-1 重複したものは1つだけ出力する
  • 2-6-2 グループ化する
  • 2-7 条件によって分岐する
  • 2-7-1 シンプルな条件で分岐する
  • 2-7-2 複数の条件で分岐する
  • 2-7-3 条件に応じて集計する
  • 2-7-4 NULLに対応する
  • 練習問題

第3章 複数のテーブルを結合する

  • 3-1 正規化によるテーブルの分割
  • 3-1-1 複数のテーブルに分割する
  • 3-1-2 第1正規化:同じ情報の繰り返しを除去する
  • 3-1-3 第2正規化:他のカラムからの依存を除去する
  • 3-1-4 第3正規化:他のカラムとの依存関係を除去する
  • 3-2 ER図による可視化
  • 3-2-1 テーブル間の関係を図示する
  • 3-2-2 ER図を作成する
  • 3-2-3 IE記法の描き方を学ぶ
  • 3-3 内部結合と外部結合
  • 3-3-1 共通のレコードで結合する
  • 3-3-2 一方に存在するレコードで結合する
  • 3-3-3 3つ以上のテーブルを結合する
  • 3-3-4 複数のテーブルを縦に並べる
  • 3-3-5 小計を作る
  • 3-4 直積(交差結合)
  • 3-4-1 直積を求める
  • 3-5 インデックス(索引)
  • 3-5-1 インデックスの効果を知る
  • 3-5-2 SQLでインデックスを作成する
  • 3-5-3 複数のカラムにインデックスを設定する
  • 3-5-4 重複を許可しないインデックスを設定する
  • 3-5-5 インデックスを削除する
  • 練習問題

第4章 サブクエリの使用

  • 4-1 サブクエリとは
  • 4-1-1 サブクエリとは
  • 4-1-2 条件としてSQLの結果を使う
  • 4-1-3 ALLとANY
  • 4-1-4 サブクエリの結果をテーブルとして使う
  • 4-1-5 取得するカラムとして使う
  • 4-1-6 WITHによる再利用
  • 4-1-7 再帰的な探索
  • 4-2  片方のテーブルにしか存在しないレコードの抽出
  • 4-2-1 NOT INを使う方法
  • 4-2-2 NOT EXISTSを使う方法
  • 4-2-3 外部結合を使う方法
  • 4-3 他のテーブルからの更新
  • 4-3-1 サブクエリの結果で更新する
  • 4-3-2 結合を使った条件の指定
  • 4-4 相関サブクエリ
  • 4-4-1 相関サブクエリの構文
  • 4-4-2 相関サブクエリの注意点
  • 4-5 分析関数
  • 4-5-1 分析関数の動作
  • 4-5-2 分析関数の例
  • 練習問題

第5章 統計データを作成する

  • 5-1 度数分布表
  • 5-1-1 度数分布表を作成する
  • 5-1-2 累積度数と相対度数を計算する
  • 5-1-3 度数分布表からヒストグラムを描く
  • 5-2 中央値、最頻値
  • 5-2-1 中央値を求める
  • 5-2-2 最頻値を求める
  • 5-2-3 中央値と最頻値の活用例
  • 5-3 分散、標準偏差、標準化、偏差値
  • 5-3-1 分散と標準偏差
  • 5-3-2 標準化と偏差値
  • 5-4 前処理
  • 5-4-1 前処理とは
  • 5-4-2 外れ値の判定
  • 5-4-3 外れ値の処理
  • 5-4-4 欠損値の処理
  • 5-5 複数の軸で集計する
  • 5-5-1 整然データと雑然データ
  • 5-5-2 縦持ちのデータを横持ちのデータに変換する
  • 5-5-3 クロス集計とは
  • 5-5-4 SQLでのクロス集計の例
  • 5-6 相関係数
  • 5-6-1 相関係数の求め方
  • 5-6-2 SQLで相関係数を計算する
  • 5-6-3 相関係数の解釈
  • 5-7 移動平均
  • 5-7-1 移動平均の種類
  • 5-7-2 加重移動平均
  • 5-7-3 移動平均の利用
  • 練習問題

第6章 複雑な問題を解く

  • 6-1 売上データからRFM分析をする
  • 6-1-1 RFM分析の流れ
  • 6-1-2 RFM分析を実行する
  • 6-2 ABC分析やデシル分析をする
  • 6-2-1 ABC分析とは
  • 6-2-2 デシル分析
  • 6-3 顧客データを匿名化する
  • 6-3-1 匿名化の目的
  • 6-3-2 匿名化の手法
  • 6-4 勤怠データから給与を計算する
  • 6-4-1 勤怠データの構造
  • 6-4-2 給与を計算する
  • 6-5 在庫データからダッシュボードを作成する
  • 6-5-1 在庫データの構造
  • 6-5-2 一覧データを表示する
  • 6-5-3 商品別の在庫数の推移
  • 6-5-4 返品の内訳

練習問題

あとがき

付録

    • データベースを作成する
    • データベースを削除する

練習問題の解答

INDEX

Home 書籍一覧 データ分析に強くなるSQLレシピ 小規模データの前処理・分析の書き方&テクニック ▲ ページトップへ戻る