WINGS(Www INtegrated Guide on Server-architecture)
Www INtegrated Guide on Server-architecture :
   ホーム お問い合わせ サーバーサイド環境構築設定 つぶやき ブックマーク レンタルサーバー 総合FAQ/訂正&ダウンロード このエントリーをはてなブックマークに追加        
  • 刊行書籍情報  [書籍マップ
  • オンライン公開 技術記事
  • シリーズ別書籍リスト
  • 「WINGS News」登録/解除
  • WINGSプロジェクト紹介
  • WINGSプロジェクトメンバ募集





【カテゴリ】 データベース


SQLデータ分析・活用入門 データサイエンスの扉を開くための技術  

SQLデータ分析・活用入門 データサイエンスの扉を開くための技術

WINGSプロジェクト 西潤史郎/著
山田祥寛/監修
ソシム 株式会社/発行
定価 2,860円
A5版・ 400ページ・ 2色
ISBN 978-4-8026-1226-5
発刊日: 2019年9月12日

[Amazon.co.jpからオンライン購入する]

[お知らせ] 2020/06/29、配布サンプルのバグを修正。旧バージョンをご利用の方はお手数ですが、再ダウンロードしてください。

   FAQ 本書訂正 アンケート ダウンロード

本書の特徴

欲しいデータは自分で見つける!

本書は「データ分析」に特化したSQLの入門書です。
広く浅くの超入門ではありません。データ分析の現場で生き抜くための技術とデータを価値に変えるための思考。基礎から実践まで本腰を入れて学びたい人に向けた本格的な内容となっています。

まとめて読んで 更にスキルアップのこんな書籍

・SQLの基本からPHPによるWeb開発まで、図解で解説するMySQLの入門書
3ステップでしっかり学ぶ MySQL入門 [改訂2版]」(技術評論社)
・SQLを基礎から学習/復習したいなら
書き込み式SQLのドリル 改訂新版」(日経BP)
分野・レベル別マップ

本書について取り上げていただいたブログさま

・サイクル&オラクル - 三原さま
書評:「SQLデータ分析・活用入門 データサイエンスの扉を開くための技術」① 西潤史郎 (著), 山田祥寛 (監修)(2019年10月29日)

  Contents


第1部 SQLによるデータ分析の基礎
第1章 SQLとデータ分析の世界
1.1 SQLによるデータ分析とは
 データ分析ニーズの広がり
 データとデータベース
 リレーショナルデータベース管理システムとSQL
 データ分析の流れ
1.2 分析システムの広がりとSQL
 基幹システムと分析システムの違い
 分析システムのSQLとデータベースの特徴
1.3 なぜ分析 SQLのスキルが必要なのか
 データベースにある一次データを取得する
 SQLは分析担当者とエンジニアにとっての「英語」
 SQLは標準規格

第2章 データ分析環境を整える
2.1 データ分析環境の準備
 データ分析環境の例
 なければ作る、分析システム
 分析の対象となるデータ
2.2 アドホック分析とレポーティングの環境
 アドホック分析とレポーティングについて
 アドホック分析とツール
 レポーティングのツール
 Redash
 Superset
2.3 その他の分析ツール
 スクリプト言語
 R
 Python
 対話型環境
 BIツール
 Tableau
2.4 SQLクライアントをデータ分析で活用する
 SQL Workbench/Jとは
 基本的な SQLの実行
 CSVファイルでダウンロードする
 SQLのクエリ文を整形する
 Workspaceで SQL 実行プロセスを保存する

第3章 データを「分ける」「数える」が分析の基本
3.1 SELECT 文でデータを分析するための基本
 分析は「分ける」「数える」「モデル化する」
 データを活かす、SQLによるアドホック分析
 SELECT文の構造
 SELECT句で列データを絞る
 集約関数でデータを集計する
 COUNT関数による集計
 その他の集約関数
 AVG関数で平均値を集計する
3.2 WHEREでデータを絞りこむ
 WHERE句によるデータの絞りこみの基本
 WHERE句におけるさまざまな条件の記述
 複数の条件を設定するIN
 LIKEによる柔軟なデータ指定
3.3 GROUP BYでデータをグループ化する
 ○○ごとに分ける
 GROUP BY句と集約関数でグループごとの集計をする
 COUNT関数以外の集約関数とGROUP BYを組み合わせる
3.4 HAVING句でデータをさらに絞りこむ
 集約関数の集計結果をさらに絞りこむ
 HAVING句とWHERE句の使い分け
3.5 ORDER BY句/LIMIT句でデータをさらに整える
 ORDER BY でデータを並べ替える
 GROUP BYとORDER BYを組み合わせる
 LIMIT句で取得するデータを絞る

第4章 分析を効率化するSQLによる前処理
4.1 異なるデータ型への変換
 CASE式によるラベルの変換
 CASE式でカテゴリをまとめる
 CASTによる変換
 欠損値をデフォルト値に置き換える
4.2 数値のデータ加工
 数値の表記と四則演算
 1レコード内の数値データ同士を比較する
 比率を求める
 分母が0の場合のエラーへの対応
4.3 日付・時間のデータ加工
 現在の日付/時間を取得する
 指定の日付/時間を取得する
 年・月・日・時・分・秒など特定データを取得する
 生年月日から年齢を計算する
 指定の時間の加減を行う
4.4 文字列のデータ加工
 指定した数の文字列を取り出すSUBSTRING関数
 文字列の分割
 URL形式の文字列からドメイン名を取り出す
 CONCATによる文字列の連結

第5章 データをさらに活用するためのテクニック
5.1 サブクエリを使いこなす
 サブクエリとは
 階層を増やしたサブクエリ
 サブクエリのエイリアス
 WITH句でサブクエリを見やすく
 スカラサブクエリでスカラ値を扱う
 HAVING句でスカラサブクエリを使う
 比較演算の中でのサブクエリの注意点
 相関サブクエリでサブクエリ外のデータを参照する
5.2 INとEXISTSによるデータの調査
 IN述語とサブクエリを組み合わせる
 EXISTS述語でデータを検査する
5.3 SQLで基本統計量を求める
 HAVING句で最頻値を求める
 HAVING句で中央値を求める
 SQLで分位数/分散
5.4 ログデータひとつでできるユーザー分析
 アクション数の推移
 ユニークユーザー数の推移
 新規ユーザー数の推移
 サービス継続期間の把握
 アクション数が3回以上のユーザーのリスト
 直近7日間でアクション数が3回以上のユーザーリスト

第6章 複数のテーブルを扱うJOINとUNION
6.1 テーブルの結合とテーブルの正規化
 テーブルの正規化
 結合によりテーブルを横につなげる
6.2 JOIN句によるテーブルの結合
 JOIN句でテーブルを内部結合する
 SELECT句で結合したテーブル名を明示する
 LEFT JOINでテーブルを外部結合する
 FULL JOINで完全外部結合する
6.3 特殊な結合
 同じテーブル同士を結合する自己結合
 テーブルのすべての行の組み合わせを得るクロス結合
 CROSS JOINで合計のカラムを付ける
6.4 UNIONで複数のテーブルを扱う
 UNIONでテーブルを縦につなげる
 UNIONで合計の行を付ける
 UNIONで疑似テーブルを作成する

第7章 分析SQLの主役「ウィンドウ関数」徹底入門
7.1 ウィンドウ関数の概要
 ウィンドウ関数とは
 ウィンドウ関数でランキングを求める
 ウィンドウ関数の構文
 ウィンドウを明記する、別の表記方法
7.2 ウィンドウの範囲と順序を指定するPARTITION BYとORDER BY
 PARTITION BY でグループ分け
 PARTITION BYを指定しない場合のウィンドウ
 ORDER BYで並べ替える
7.3 ウィンドウ関数に変身する関数と専用の関数
 順序を扱うウィンドウ関数専用の関数
 集約関数からウィンドウ関数に変身する関数
7.4 フレーム句を使いこなし分析SQLの達人になる
 フレーム句の構文とフレームのイメージ
 フレームで移動平均を求める
 フレームで直近の日付を求める
 RANGEによる値単位での行指定

第2部 SQLによるデータ分析の実践
第8章 SQLで小さな分析を積み重ねる
8.1 小さな分析を積み重ねるアドホック分析
 データと対話し、全体から部分へ分析を進める
 データを分けるのは「時間ごと」「グループごと」
8.2 ファクトデータを活かす時系列分析
 時系列分析とは
 データの確認
 ウィンドウ関数で簡単、SQLで時系列分析
8.3 グループ分けを組み合わせるクロス集計
 クロス集計とは
 データの確認
 性別・地域ごとのユーザー数集計
 「地域」に連番を付与する
 CASE式でテーブルを縦持ちから横持ちに変換する
8.4 実践アドホック分析1 - 全体から部分へ分析を進める
 モデルのイメージ
 全体の把握
 GROUP BY句でグループを分ける
 ウィンドウ関数によるランク付け
 CASE式によるランク付け
 クロス集計で表を整える
8.5 実践アドホック分析2 - 集計と深掘り
 指標を追加し、3指標のランクを求める
 3指標でランクを求める
 ランク値ごとに集計する
 集計値を求める

第9章 長いSQLを読み解く
9.1 データ分析でよくある長いSQLの読み方
 内側のSELECT文から読む
 SELECT文は句の処理順に読む
9.2 統計量「四分位数」を求めるSQLを読み解く
 四分位数とSQL全体像
 SQL全体像と読み解き順序
 ランキングを算出するための相関サブクエリ
 ランキングを算出するクエリ
 ランキングをもとに四分位に振り分ける
9.3 「バスケット分析」のSQLを読み解く
 バスケット分析について
 データとSQLの確認
 SQL全体像と読み解き順序
 1つめの文「商品の組み合わせと購入回数」
 2つめの文「商品ごとの購入回数」
 3つめの文「商品が同時に購入される頻度を算出する」
9.4 「ユーザーの利用機能分析」のSQLを読み解く
 「ユーザーの利用機能分析」とは
 データとSQLの確認
 SQL全体像と読み解き順序
 1番めの文「ユーザーごとのアクションありなし」
 2番め~9番めの文「アクション組み合わせの集計」
 10番目の文「データ整形」
 [補足]DBMS 特有関数がある場合
9.5 [番外編]既存のSQLをよりよく改善する
 ウィンドウ関数 NTILEで簡単に4グループ分けを実現する
 WITH句でサブクエリを整理
 ランキングをウィンドウ関数により求める
 PERCENT_RANK 関数とCUME_DIST 関数によるランキング
 スカラサブクエリ繰り返し表記の改善
 SQLの改善結果

第10章 データ分析が価値を生みだすために
10.1 データ分析が成果を出すために必要なこと
 モデルとは
 モデルはどう作成するのか
 「式」はモデルの代表的な形
 データ分析はプロセスであり成果物ではない
 意志決定者とデータ分析者は分ける
 国家の意思決定から発展した「インテリジェンス」
 意思決定者とデータ分析者の壁
 ビジョンとスキルで壁を越える
 データサイエンスの実践に求められるスキル
 データサイエンスのタスク
 チームとしてのデータサイエンティスト
 社内SQL 勉強会のすすめ
10.2 さらにデータサイエンスのスキルを身につけるための参考書籍
 SQL関連
 エンジニアリング関連
 データサイエンス関連
 ビジネス関連
10.3 結びにかえて

付録
A.1 SQLクライアント「SQL Workbench/J」の導入方法
 SQL Workbench/Jのインストール手順
 データベース接続設定
A.2 ダッシュボードツール「Redash」の導入方法と可視化手順
 Dockerのインストール
 DockerでRedash環境を構築する
 データソースの設定方法
 日付フォーマット設定
 SQLクエリを実行してみる
 数値表示のグラフ作成
 円グラフ/棒グラフの作成
 2つグラフの同時表示
 ダッシュボードを作る
 サブクエリだけ実行できる「選択実行」
 クエリ結果を CSVファイルなどでダウンロード
 アラートの設定
 まとめ

本ページへのリンクには、このロゴをご利用ください。


著作権情報個人情報保護について広告掲載についてRSSフィードについて
出版社の方々へ会社概要スタッフ紹介サイトマップ  
書籍/記事に関するご質問/お問い合わせは「WINGSお問い合わせフォーム」をご利用ください。
Copyright(c) 1998-2024,Yamada Yoshihiro.  All Right Reserved.